Source code can be found on github: https://github.com/serras/reactive-js
Soon to be also avaliable in the UHC examples repository.
Comparison between UI libraries in Haskell
The different frameworks for UI differ in:
- How they get extensible sets of properties
- How events and dataflow are handled
- How they get layout done
- For records, has a [[http://www.informatik.tu-cottbus.de/~jeltsch/research/ifl-2009-slides.pdf][special syntax]:
- In general, elements are defined using an arrow where input records are fed and output records are recorded:
X :& Push := ok <- button -< X :& Caption := pure "Ok"
- Then a complete UI is a circuit, where inputs and outputs are linked by the arrows:
mainCircuit = proc () -> do
rec let title = pure "simple"
text = SSignal.scan "*" (const . ('*':)) push
X :& Closure := closure `With` X :& Push := push
<- window `with` just pushButton
-< X :& Title := title `With` X :& Text := text
returnA <- closure
`with` are used to do layout
- 30 Nov 2010