For those interested in compiling down to Javascript with a strongly and statically typed language, there's a brilliant proper subset of Haskell that compiles down to Javascript called "Fay": https://github.com/faylang/fay/wiki
Also Roy, which is statically typed (with type inference) and is designed for JS interop. It's also written in JS and can be installed with just npm install roy http://roy.brianmckenna.org/
I would like it, but why oh why does it have Algol-like syntax? It started with ML-like one IIRC, so whyyyy? (it's just an expression of disappointment, not actual question)