Gershom Bazerman | 17 Dec 02:36 2012

ANN: JMacro 0.6 and JMacro-RPC, featuring cross-platform json-rpc, easy AJAX applications, evented reactive panels and more


I'm happy to announce the release of JMacro 0.6 (0.6.3 actually) which 
brings a host of improvements. JMacro is a quasiquoted library for the 
programmatic generation of JavaScript code. It lets you write in a 
superset of JavaScript with haskell-like syntax and compile-time 
guarantees of syntactic correctness, and is intended to be used for both 
embedded javascript and compilers and libraries targeting 
JavaScript--where hygienic naming, proper scoping, and anti-quotation 
are especially important. Documentation is on the Haskell Wiki:

This release brings a host of improvements to efficiency, driven largely 
by user-submitted patches and requests. Text is used more uniformly, as 
opposed to String, and JSON integration is provided via aeson rather 
than the json package. Additionally, nearly all of JavaScript is 
supported, including more obscure operators, as well as labels, and 
labeled break and continue.

The big news, however, is JMacro-RPC, which provides multi-server tools 
for serving JSON-RPC 2.0 [1] remote procedure calls, as well as binding 
to them from both Haskell and JavaScript. On the Haskell side, rpc 
server functions and caller stubs are automatically generated by 
typeclasses. On the JavaScript side, which is less typed, a function is 
exposed to marshall javascript function arguments directly into RPC 
calls to a located URL.
(Continue reading)