The fay package

Fay is a proper subset of Haskell which can be compiled (type-checked)
with GHC, and compiled to JavaScript. It is lazy, pure, with a Fay monad,
an FFI, tail-recursion optimization (experimental). It implements no type
system, for type-checking you should use GHC.