Fay is a programming language that forms a proper subset of Haskell and which compiles to JavaScript.

Fay is a small programming language which has the following properties:

  • A proper syntactic and semantic subset of haskell
  • Statically typed
  • Lazy
  • Pure by default
  • Compiles to javascript
  • Has fundamental data types (Double, String, etc.) based upon what JS can support
  • Outputs minifier-aware code for small compressed size
  • Has a trivial foreign function interface to JavaScript
  • Typechecks using GHC