Skip to content

Instantly share code, notes, and snippets.

@mightybyte
Last active February 5, 2016 21:15
Show Gist options
  • Save mightybyte/2d3e32f457db5afda4e7 to your computer and use it in GitHub Desktop.
Save mightybyte/2d3e32f457db5afda4e7 to your computer and use it in GitHub Desktop.
Diagrams example snippet
app :: MonadWidget t m => App t m ()
app = do
ti <- textInput $ TextInputConfig "range" "4" never
(constDyn $ "min" =: "1" <> "max" =: "6")
n <- holdDyn (4::Int) (read <$> updated (value ti))
let f = reflexDia (def & sizeSpec .~ D.mkSizeSpec2D (Just 600) (Just 600)) . example
el "div" $ widgetHoldHelper f 4 (updated n)
return ()
hilbert 0 = mempty
hilbert n = hilbert' (n-1) D.# D.reflectY <> D.vrule 1
<> hilbert (n-1) <> D.hrule 1
<> hilbert (n-1) <> D.vrule (-1)
<> hilbert' (n-1) D.# D.reflectX
where
hilbert' m = hilbert m D.# D.rotateBy (1/4)
example n = D.frame 1 . D.lw D.thin . D.lc D.darkred . D.fc D.white
. D.strokeT $ hilbert n
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment