[web-devel] [Haskell] ANNOUNCE: haste-perch
Alberto G. Corona
agocorona at gmail.com
Wed Jun 18 17:43:54 UTC 2014
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 <agocorona at 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.gibiansky at 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 <agocorona at 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 at haskell.org
>>> http://www.haskell.org/mailman/listinfo/haskell
>>>
>>>
>>
>
>
> --
> Alberto.
>
--
Alberto.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/web-devel/attachments/20140618/73955597/attachment.html>
More information about the web-devel
mailing list