ClojureScript functional reactive programming library.
Shafty is currently under development and the API is subject to change.
Get in touch if you are interested in helping out.
Events represent time-varying functions which have a finite set of occurences over time.
Behaviours are time-varying functions which constantly have a value. Derive a behaviour from an event, or generate a receiver to watch a particular DOM element, such as an input field.
- Functionality to add:
send! for streams, remove explicit -notify-watches.
Topological propagation. Delayed value propagation and queueing of events. Adding a sentinal value instead of explicit propagate! calls. Event constructors taking sources. Function to add sinks instead of direct set! command. Change order of arugments to core functions? Time stepping.
- Elliott, Push-Pull Functional Reactive Programming
- Meyerovich, Flapjax: Functional Reactive Web Programming
- Meyerovich, Guha, Baskin, Cooper, Greenberg, Bromfield, Krishnamurthi, Flapjax: A Programming Language for Ajax Applications
Copyright (C) 2012 Christopher Meiklejohn.
Distributed under the Eclipse Public License, the same as Clojure.