GHCJS
Haskell to JavaScript compiler, based on GHC
...It aims to preserve Haskell’s semantics—including laziness and rich types—by shipping a small runtime and shims for core libraries. Developers write normal Haskell, use Cabal/Stack to build, then bundle the generated JavaScript alongside required support code. Interoperability with the JavaScript world is provided through a foreign-function interface, allowing Haskell code to call browser APIs or Node modules and to be called back from JS. The ecosystem includes packages tailored to GHCJS (for example DOM bindings and FRP libraries), enabling full single-page apps written in Haskell. ...