fay: A compiler for Fay, a Haskell subset that compiles to JavaScript.

[ bsd3, development, fay, library, program, web ] [ Propose Tags ]

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.

Documentation

See documentation at http://fay-lang.org/ or build your own documentation with:

$ cabal unpack fay
$ cd fay-*
$ cabal install
$ dist/build/fay-docs/fay-docs

Examples

See http://fay-lang.org/#examples.

Release Notes

  • Enable strict list for arithmetic sequences optimisation only when compiler optimise flag set.

  • Add print and putStrLn to the Prelude

  • Add list utility functions from the standard Prelude

  • Test optimized as well as unoptimized builds.

  • Standard precendence and associativity for infix operators

  • Add function utilities from Prelude, including seq

  • Add math functions in Prelude

  • Add support for sections (desugaring to lambdas)

  • Added example of the ContT and Deferred monad, sleep and readFile.

  • Add more of the prelude, including error and a lot of math stuff.

  • Remove needs for module declarations in modules that define main.

  • Support enumThen ([1,2..]) style lists.

  • Add support for enumFromThenTo ([1,2..10]) lists.

See full history at: https://github.com/faylang/fay/commits

Flags

Automatic Flags
NameDescriptionDefault
devel

Don't build fay-tests and fay-docs if this flag is supplied

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.3.1.0, 0.3.1.1, 0.4.0.1, 0.4.0.4, 0.5.0.0, 0.5.1.0, 0.5.2.0, 0.6.0.0, 0.9.1.0, 0.9.2.0, 0.10.0.0, 0.10.1.0, 0.11.0.0, 0.12.0.0, 0.12.0.1, 0.14.0.0, 0.14.1.0, 0.14.2.0, 0.14.3.0, 0.14.4.0, 0.14.5.0, 0.15.0.0, 0.16.0.0, 0.16.0.1, 0.16.0.2, 0.16.0.3, 0.17.0.0, 0.18.0.0, 0.18.0.1, 0.18.0.2, 0.18.0.3, 0.18.0.4, 0.18.0.5, 0.18.1, 0.18.1.1, 0.18.1.2, 0.18.1.3, 0.19, 0.19.0.1, 0.19.0.2, 0.19.1, 0.19.1.1, 0.19.1.2, 0.19.2, 0.19.2.1, 0.20.0.0, 0.20.0.1, 0.20.0.2, 0.20.0.3, 0.20.0.4, 0.20.1.0, 0.20.1.1, 0.20.1.2, 0.20.1.3, 0.20.1.4, 0.20.2.0, 0.21.0.0, 0.21.0.1, 0.21.0.2, 0.21.1, 0.21.2, 0.21.2.1, 0.22.0.0, 0.23.0.0, 0.23.0.1, 0.23.1.0, 0.23.1.1, 0.23.1.2, 0.23.1.3, 0.23.1.4, 0.23.1.5, 0.23.1.6, 0.23.1.7, 0.23.1.8, 0.23.1.9, 0.23.1.10, 0.23.1.11, 0.23.1.12, 0.23.1.13, 0.23.1.14, 0.23.1.15, 0.23.1.16, 0.23.2.0, 0.24.0.0, 0.24.0.1, 0.24.0.2, 0.24.0.3, 0.24.0.4, 0.24.0.5, 0.24.1.0, 0.24.1.1, 0.24.2.0
Dependencies aeson (<0.7), attoparsec, base (>=4 && <4.7), blaze-html (>=0.5), blaze-markup, bytestring, containers, data-default, directory, filepath, groom, haskeline, haskell-src-exts (<1.14), HUnit, language-ecmascript, mtl, optparse-applicative (<0.5), pretty-show, process, random, safe, split, syb, test-framework, test-framework-hunit, test-framework-th, text, time, unordered-containers, utf8-string, vector [details]
License BSD-3-Clause
Copyright 2012 Chris Done
Author Chris Done, Adam Bergmark
Maintainer chrisdone@gmail.com, adam@edea.se
Revised Revision 4 made by AdamBergmark at 2015-08-14T15:10:47Z
Category Development
Home page http://fay-lang.org/
Uploaded by ChrisDone at 2012-11-24T20:40:20Z
Distributions NixOS:0.24.2.0
Executables fay-docs, fay-tests, fay
Downloads 96504 total (33 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]