Skip to content
This repository

Monadic Javascript Compiler

branch: master

New Scientific instances for SunroofValue.

Added because new versions of aeson use Scientific instead of the number type from attoparsec.
latest commit b0c588c71d
Jan Bracker jbracker authored
README.md

Sunroof

Sunroof is a Haskell-hosted Domain Specific Language (DSL) for generating JavaScript. Sunroof is built 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:

Something went wrong with that request. Please try again.