@hackage sunroof-compiler0.2
Monadic Javascript Compiler
Categories
License
BSD-3-Clause
Maintainer
Jan Bracker <jbra@informatik.uni-kiel.de>
Links
Versions
- 0.2 Fri, 12 Apr 2013
Installation
Dependencies (12)
- Boolean >=0.2
- base >=4.3.1 && <5
- containers >=0.4
- data-default >=0.5 && <0.6
- data-reify >=0.6
- mtl >=2.0 Show all…
Dependents (3)
@hackage/sunroof-examples, @hackage/acme-everything, @hackage/sunroof-server
Sunroof
Sunroof is a Haskell-hosted Domain Specific Language (DSL) for generating JavaScript.
Sunroof is build on top of the JS-monad, which, like the Haskell IO-monad, allows
access to external resources, but specifically JavaScript
resources. As such, Sunroof is primarily a feature-rich foreign
function API to the browser's JavaScript engine, and all the browser-specific
functionality, including HTML-based rendering, event handling, and
drawing to the HTML5 canvas.
It uses monadic reification, to reify a deep embedding of the JS-monad,
and from this embedding it generates JavaScript.
The Sunroof DSL has the feel of native Haskell, with a simple
Haskell-based type schema to guide the Sunroof programmer.
Furthermore, because it generates code,
Sunroof can offer Haskell-style concurrency patterns, like MVars and Channels.
In combination with a web services package like kansas-comet,
the Sunroof compiler offers a robust platform to build interactive web applications,
giving the ability to interleave Haskell and JavaScript computations
with each other as needed (sunroof-server).
Further Information
Further information on Sunroof can be found in different places: