The readme in the Git repository tell more details https://github.com/agocorona/haste-perch/blob/master/README.md
And also this blog post: http://haskell-web.blogspot.com.es/2014/06/taming-html-dom-with-monads-and-monoids.html 2014-06-18 19:20 GMT+02:00 Alberto G. Corona <agocor...@gmail.com>: > The syntax is similar to blaze-html, but haste-perch uses the HTM-DOM in > the browser to create DOM elements. blaze-html creates a html bytestring in > the server that the browser must load. > > It uses Haste.DOM > > > http://hackage.haskell.org/package/haste-compiler-0.2.99/docs/Haste-DOM.html > > Haste.DOM has primitives that invoke Javascript functions in browser like: > For example newElem invoke "createElement" in javascript > > Perch assemble a sequence of DOM calls that create the HTML tree directly > in the browser. so you can create an application that run fully in the > browser > > The tree can change depeding on different actions done by the user by > changing the HTML tree dynamically. It is possible to create dynamic > applications. > > > > > 2014-06-18 18:11 GMT+02:00 Andrew Gibiansky <andrew.gibian...@gmail.com>: > > Could you elaborate on how this is better/different from blaze-html? >> >> I'm a bit confused - is it just the same thing but works with Haste, >> while blaze-html doesn't? What's the main idea? >> >> Thanks! >> Andrew >> >> >> On Wed, Jun 18, 2014 at 7:02 AM, Alberto G. Corona <agocor...@gmail.com> >> wrote: >> >>> 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. >>> >>> _______________________________________________ >>> Haskell mailing list >>> Haskell@haskell.org >>> http://www.haskell.org/mailman/listinfo/haskell >>> >>> >> > > > -- > Alberto. > -- Alberto.
_______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell