The sunroof-compiler package

[Tags: bsd3, library]

Monadic Javascript Compiler.


[Skip to ReadMe]

Properties

Version0.2
Change logNone available
Dependenciesbase (>=4.3.1 && <5), Boolean (>=0.2), containers (>=0.4), data-default (==0.5.*), data-reify (>=0.6), mtl (>=2.0), operational (>=0.2.0.3 && <0.3), semigroups (>=0.9), tagged (>=0.4.4), template-haskell (>=2.8), transformers (==0.3.*), vector-space (>=0.8.6) [details]
LicenseBSD3
Copyright(c) 2012 The University of Kansas
AuthorAndrew Gill <andygill@ku.edu>, Jan Bracker <jbra@informatik.uni-kiel.de>
MaintainerJan Bracker <jbra@informatik.uni-kiel.de>
Stabilityexperimental
CategoryWeb, Language, Embedded, Compiler, Javascript
Home pagehttps://github.com/ku-fpg/sunroof-compiler
Bug trackerhttps://github.com/ku-fpg/sunroof-compiler
Source repositoryhead: git clone git://github.com/ku-fpg/sunroof-compiler.git
UploadedFri Apr 12 20:38:33 UTC 2013 by JanBracker
DistributionsNixOS:0.2
Downloads296 total (10 in last 30 days)
Votes
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for sunroof-compiler-0.2

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: