Shower Presentation Engine
ghcjs
clay
!
Event |
---|
Behavior |
---|
Dynamic |
---|
thanks to rxmarbles.com!
Event
is a Functor
-> fmap (const 5) clickEvt
… ⇒ [Event t a] → Event t a
… ⇒ (a → a → a) → [Event t a] → Event t a
FunctorMaybe f => (a → Bool) → f a → f a
… ⇒ (a → b → b) → b → Event t a → m (Dynamic t b)
(a → b → b) → b → [a] → b
… ⇒ Dynamic t a → Dynamic t a
EventsView.hs
RecursiveDo
const :: a -> b -> a
const x _ = x
fmap (const 6) [1,2,3,4] -> [6,6,6,6]
fmap (\_ -> 6) [1,2,3,4] -> [6,6,6,6]
… ⇒ (a → b) → Dynamic t a → m (Dynamic t b)
… ⇒ Dynamic t a → (a → b) → m (Dynamic t b)
Config.hs
Note we bypassed the input API, and it's self-contained.
… ⇒ (a → b → c) → Dynamic t a → Dynamic t b → m (Dynamic t c)
… ⇒ m (Event t ())
… ⇒ String → Event t b → m (Dynamic t (RemoteData a))
Config.hs
combineDyn
-- we don't need $q.all
and things like that.
… ⇒ a → Dynamic t a
… ⇒ a → Event t a → m (Dynamic t a)
Dynamic t (m (Event t Day))
and things like that are pretty commonrecursive do
: the error could be anywhere in the rec
block...ghcjs
: shims -- builds then crashes at runtime! Had to patch the RTS.ghcjs
: Running on 0.1, ~0.3 is dev..ghcjsi
will help)My SPA GHCJS/Reflex app is 18MB (all in). That's a pretty hefty page load. (I wasn't successful with first run of closure-compiler either)
— Tim Dysinger (@dysinger) February 27, 2016
... and inline CSS...