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

. * Restrict optparse-applicative to < 0.5.

. * Error on case-wheres instead of ignoring them.

. * Fix serialization of parametrized types when the type information is available.

. * Fix recursive definition name resolving (closes #187).

. * Fix as patterns always matching (closes #186)

. * Fix bind error (closes #178).

. * Check GHC version from command line instead of CPP (#174)

. * Move Defined and Nullable to Language.Fay.FFI

. * Add Nullable.

. * Use GHC.Path for running ghc and handle flag change in GHC 7.6 (refs #174).

. * Add HASKELL_PACKAGE_SANDBOX environment variable support (closes #174).

. * Fix Maybe serialization.

. * Fix serializing for doubles (i.e. also parsing ints).

. * Option to warn for Closure-unfriendly FFI bindings.

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

Versions 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
Dependencies aeson (<0.7), attoparsec, base (>=4 && <4.7), blaze-html (>=0.5), blaze-markup, bytestring, containers, data-default, directory, filepath, ghc-paths, groom, haskeline, haskell-src-exts (<1.14), HUnit, language-ecmascript (>=0.10), mtl, optparse-applicative (>=0.2 && <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 3 made by AdamBergmark at Fri Aug 14 15:10:34 UTC 2015
Category Development
Home page http://fay-lang.org/
Uploaded by ChrisDone at Mon Dec 24 13:39:19 UTC 2012
Distributions NixOS:0.24.0.1, Stackage:0.24.0.1
Executables fay-docs, fay-tests, fay
Downloads 53175 total (1089 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
devel

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

DisabledAutomatic

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