Hi,
haste-perch defines builder elements (perchs) for Haste.DOM elements that are appendable, so that dynamic HTML can be created in the client in a natural way, like textual HTML, but programmatically and with the advantage of static type checking. It can be ported to other haskell-js compilers.
http://hackage.haskell.org/package/haste-perch
This program, when compiled with haste:
main= do
withElem "idelem" $ build $ do
div $ do
div $ do
p "hello"
p ! atr "style" "color:red" $ "world"
return ()
Creates these element:
<div id= "idelem"> <-- was already in the HTML
<div>
<div>
<p> hello </p>
<p style= "color:red"> world </p>
</div>
</div>
</div>
Since the creation is in the browser, that permit quite dynamic pages for data
presentation, and interctive textual (a.k.a "serious") applications and, in general
the development of client-side web frameworks using haskell with the haste compiler.
See the README in the git repository:
https://github.com/agocorona/haste-perch
--
Alberto.