packages feed

fay-0.10.0.0: fay.cabal

name:                fay
version:             0.10.0.0
synopsis:            A compiler for Fay, a Haskell subset that compiles to JavaScript.
description:         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/
                     .
                     * Add TCO optimization.
                     .
                     * Added uncurrying optimization for non-partial applications.
                     .
                     * Add simple benchmarking program.
                     .
                     * Add SVG logo.
                     .
                     * Added Defined type and appropriate serialization.
                     .
                     * Treat Maybe as a nullable value in conversions.
                     .
                     * Added oscillator example.
                     .
                     * Add optimization flag.

                     * Support tuple serialization.
                     * Fix list length in pats (closes #145).
                     .
                     * Name resolution and some export list support.

                     * Add codeworld space invaders example.
                     .
                     * NoImplicitPrelude is now passed automatically to GHC. Does not break code that uses the pragma (see #134).
                     .
                     * Add support for list comprehensions using desugaring from Haskell report. See #40 and #132.
                     .
                     * Make error messages a tiny bit friendlier, and some general house-keeping.
                     .
                     * Support negation expressions (see #116).
                     .
                     * Rewrite readFromFay using only Data, no Read/Show requirements (see #112).
                     .
                     See full history at: <https://github.com/faylang/fay/commits>
homepage:            http://fay-lang.org/
license:             BSD3
license-file:        LICENSE
author:              Chris Done, Adam Bergmark
maintainer:          chrisdone@gmail.com, adam@edea.se
copyright:           2012 Chris Done
category:            Development
build-type:          Custom
cabal-version:       >=1.8
data-files:          js/runtime.js
                     hs/stdlib.hs
                     src/Language/Fay/Stdlib.hs
extra-source-files:  examples/ref.hs examples/alert.hs examples/console.hs examples/dom.hs
                     examples/tailrecursive.hs examples/data.hs examples/canvaswater.hs
                     examples/canvaswater.html examples/haskell.png
                     -- Test cases
                     tests/ints.hs tests/ints tests/asPatternMatch
                     tests/caseList.hs tests/Double2.hs
                     tests/fromInteger tests/List.hs tests/RecCon
                     tests/recordPatternMatch tests/String.hs
                     tests/asPatternMatch.hs tests/fromInteger.hs
                     tests/RecCon.hs tests/recordPatternMatch2
                     tests/caseWildcard tests/Double3 tests/Monad
                     tests/recordPatternMatch2.hs tests/tailRecursion
                     tests/basicFunctions tests/caseWildcard.hs
                     tests/Double3.hs tests/Monad2 tests/RecDecl
                     tests/tailRecursion.hs tests/basicFunctions.hs
                     tests/HierarchicalImport tests/Monad2.hs
                     tests/RecDecl.hs tests/recordPatternMatch.hs
                     tests/do tests/Double4 tests/then tests/Bool
                     tests/doAssingPatternMatch tests/Double4.hs
                     tests/HierarchicalImport.hs tests/Monad.hs
                     tests/records tests/then.hs tests/Bool.hs
                     tests/doAssingPatternMatch.hs
                     tests/recordFunctionPatternMatch tests/records.hs
                     tests/Double.hs tests/mutableReference
                     tests/recordFunctionPatternMatch.hs tests/utf8
                     tests/case tests/doBindAssign
                     tests/infixDataConst tests/mutableReference.hs
                     tests/recordUseBeforeDefine tests/utf8.hs
                     tests/case2 tests/doBindAssign.hs tests/emptyMain
                     tests/infixDataConst.hs tests/RecordImport_Export
                     tests/recordUseBeforeDefine.hs tests/case2.hs
                     tests/emptyMain.hs tests/patternGuards
                     tests/RecordImport_Export.hs tests/where
                     tests/do.hs tests/List tests/patternGuards.hs
                     tests/reservedWords tests/where.hs tests/case.hs
                     tests/fix tests/List2 tests/RecordImport_Import
                     tests/reservedWords.hs tests/Double tests/fix.hs
                     tests/List2.hs tests/patternMatchFail.hs
                     tests/RecordImport_Import.hs tests/caseList
                     tests/Double2 tests/String
                     tests/Hierarchical/Export.hs
                     tests/Hierarchical/RecordDefined.hs
                     -- Documentation files
                     docs/beautify.js docs/highlight.pack.js docs/home.css docs/jquery.js
                     docs/analytics.js
                     -- Documentation snippets
                     docs/snippets/conditions.hs
                     docs/snippets/data.hs
                     docs/snippets/declarations.hs
                     docs/snippets/dom.hs
                     docs/snippets/enums.hs
                     docs/snippets/ffi.hs
                     docs/snippets/functions.hs
                     docs/snippets/lists.hs
                     docs/snippets/patterns.hs
                     docs/snippets/tail.hs
                     docs/home.hs

Flag devel
  Description:       Don't build fay-tests and fay-docs if this flag is supplied
  Default:           False

library
  hs-source-dirs:    src
  exposed-modules:   Language.Fay, Language.Fay.Types, Language.Fay.FFI, Language.Fay.Prelude, Language.Fay.Convert, Language.Fay.Compiler, Language.Fay.Compiler.Misc, Language.Fay.Compiler.FFI, Language.Fay.Compiler.Optimizer
  other-modules:     Language.Fay.Print, Control.Monad.IO, Language.Fay.Stdlib, System.Process.Extra, Data.List.Extra, Paths_fay
  ghc-options:       -O2 -Wall
  build-depends:     base >= 4 && < 5,
                     mtl,
                     haskell-src-exts,
                     aeson,
                     unordered-containers,
                     containers,
                     attoparsec,
                     vector,
                     text,
                     utf8-string,
                     bytestring,
                     pretty-show,
                     data-default,
                     safe,
                     language-ecmascript,
                     syb,
                     process,
                     filepath,
                     directory,
                     groom,
                     random

  if !flag(devel)
    build-depends:
                     -- Requirements for the executables which
                     -- `cabal-dev ghci' needs.
                     HUnit,
                     blaze-html >= 0.5,
                     blaze-markup,
                     bytestring,
                     time,
                     optparse-applicative,
                     split,
                     test-framework,
                     test-framework-hunit,
                     test-framework-th

executable fay
  hs-source-dirs:    src
  ghc-options:       -O2 -Wall
  ghc-prof-options:  -fprof-auto
  main-is:           Main.hs
  build-depends:     base >= 4 && < 5,
                     mtl,
                     haskell-src-exts,
                     aeson,
                     syb,
                     unordered-containers,
                     containers,
                     attoparsec,
                     vector,
                     text,
                     utf8-string,
                     bytestring,
                     pretty-show,
                     process,
                     data-default,
                     safe,
                     language-ecmascript,
                     directory,
                     filepath,
                     groom,
                     random,
                     optparse-applicative,
                     split,
                     haskeline

executable fay-tests
  if flag(devel)
    buildable:       False
  hs-source-dirs:    src
  ghc-options:       -O2 -Wall -threaded -with-rtsopts=-N
  ghc-prof-options:  -fprof-auto
  main-is:           Tests.hs
  other-modules:     Language.Fay.Compiler Test.Convert Test.Api Test.CommandLine Test.Util
  build-depends:     base >= 4 && < 5,
                     mtl,
                     haskell-src-exts,
                     aeson,
                     syb,
                     unordered-containers,
                     containers,
                     attoparsec,
                     vector,
                     text,
                     utf8-string,
                     bytestring,
                     pretty-show,
                     HUnit,
                     process,
                     filepath,
                     directory,
                     data-default,
                     safe,
                     language-ecmascript,
                     groom,
                     random,
                     test-framework,
                     test-framework-hunit,
                     test-framework-th

executable fay-docs
  if flag(devel)
    buildable:       False
  hs-source-dirs:    src
  ghc-options:       -O2 -Wall
  main-is:           Docs.hs
  other-modules:     Text.Blaze.Extra
  build-depends:     base >= 4 && < 5,
                     mtl,
                     haskell-src-exts,
                     aeson,
                     syb,
                     unordered-containers,
                     containers,
                     attoparsec,
                     vector,
                     text,
                     utf8-string,
                     bytestring,
                     pretty-show,
                     HUnit,
                     process,
                     filepath,
                     directory,
                     blaze-html >= 0.5,
                     blaze-markup,
                     bytestring,
                     time,
                     data-default,
                     safe,
                     language-ecmascript,
                     groom,
                     random