packages feed

fay-0.9.1.0: fay.cabal

name:                fay
version:             0.9.1.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 -fdevel
                     > $ dist/build/fay-docs/fay-docs
                     .
                     .
                     /Examples/
                     .
                     See <http://fay-lang.org/#examples>.
                     .
                     /Release Notes/
                     .
                     * Infix constructor applications and infix operator constructors.
                     .
                     * Warn when NoImplicitPrelude isn't specified.
                     .
                     * Added fay --version.
                     .
                     * Html wrapper enhancements.
                     .
                     * Initial pass-through to collect record information. This means records can now be used before they're defined.
                     .
                     * Expose more prelude functions.
                     .
                     * Fixed doctype typo in HTML wrappers.
                     .
                     * Basic interactive shell
                     .
                     See full history at: <https://github.com/chrisdone/fay/commits>
homepage:            http://fay-lang.org/
license:             BSD3
license-file:        LICENSE
author:              Chris Done
maintainer:          chrisdone@gmail.com
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/asPatternMatch tests/caseList.hs
                      tests/Double2.hs tests/fromInteger tests/List.hs
                      tests/RecCon tests/recordPatternMatch
                      tests/String.hs tests/asPatternMatch.hs
                      tests/caseList.js tests/Double2.js
                      tests/fromInteger.hs tests/List.js
                      tests/RecCon.hs tests/recordPatternMatch2
                      tests/String.js tests/asPatternMatch.js
                      tests/caseWildcard tests/Double3
                      tests/fromInteger.js tests/Monad tests/RecCon.js
                      tests/recordPatternMatch2.hs tests/tailRecursion
                      tests/basicFunctions tests/caseWildcard.hs
                      tests/Double3.hs
                      tests/Monad2 tests/RecDecl
                      tests/recordPatternMatch2.js
                      tests/tailRecursion.hs tests/basicFunctions.hs
                      tests/caseWildcard.js tests/Double3.js
                      tests/HierarchicalImport tests/Monad2.hs
                      tests/RecDecl.hs tests/recordPatternMatch.hs
                      tests/tailRecursion.js tests/basicFunctions.js
                      tests/do tests/Double4
                      tests/Monad2.js
                      tests/RecDecl.js tests/recordPatternMatch.js
                      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/Double4.js
                      tests/Monad.js
                      tests/recordFunctionPatternMatch
                      tests/records.hs tests/then.js tests/Bool.js
                      tests/doAssingPatternMatch.js tests/Double.hs
                      tests/HierarchicalImport.js
                      tests/mutableReference
                      tests/recordFunctionPatternMatch.hs
                      tests/records.js tests/utf8 tests/case
                      tests/doBindAssign tests/Double.js
                      tests/infixDataConst tests/mutableReference.hs
                      tests/recordFunctionPatternMatch.js
                      tests/recordUseBeforeDefine tests/utf8.hs
                      tests/case2 tests/doBindAssign.hs
                      tests/emptyMain tests/infixDataConst.hs
                      tests/mutableReference.js
                      tests/RecordImport_Export
                      tests/recordUseBeforeDefine.hs tests/utf8.js
                      tests/case2.hs tests/doBindAssign.js
                      tests/emptyMain.hs tests/infixDataConst.js
                      tests/patternGuards tests/RecordImport_Export.hs
                      tests/recordUseBeforeDefine.js tests/where
                      tests/case2.js tests/do.hs tests/emptyMain.js
                      tests/List tests/patternGuards.hs
                      tests/RecordImport_Export.js tests/reservedWords
                      tests/where.hs tests/case.hs tests/do.js
                      tests/fix tests/List2 tests/patternGuards.js
                      tests/RecordImport_Import tests/reservedWords.hs
                      tests/where.js tests/case.js tests/Double
                      tests/fix.hs tests/List2.hs
                      tests/patternMatchFail.hs
                      tests/RecordImport_Import.hs
                      tests/reservedWords.js tests/caseList
                      tests/Double2 tests/fix.js tests/List2.js
                      tests/patternMatchFail.js
                      tests/RecordImport_Import.js 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:       Whether to build fay-tests and fay-docs
  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
  other-modules:     Language.Fay.Print, Control.Monad.IO, Language.Fay.Stdlib, System.Process.Extra, Paths_fay
  ghc-options:       -O2 -Wall
  build-depends:     base >= 4 && < 5,
                     mtl,
                     haskell-src-exts,
                     aeson,
                     unordered-containers,
                     attoparsec,
                     vector,
                     text,
                     utf8-string,
                     bytestring,
                     pretty-show,
                     data-default,
                     safe,
                     language-ecmascript,
                     syb,
                     process,
                     filepath,
                     directory,
                     groom

  if flag(devel)
    build-depends:
                     -- Requirements for the executables which
                     -- `cabal-dev ghci' needs.
                     HUnit,
                     blaze-html,
                     blaze-markup,
                     bytestring,
                     time,
                     options,
                     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,
                     unordered-containers,
                     attoparsec,
                     vector,
                     text,
                     utf8-string,
                     bytestring,
                     pretty-show,
                     process,
                     data-default,
                     safe,
                     language-ecmascript,
                     directory,
                     filepath,
                     groom,
                     options,
                     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
  if flag(devel)
    build-depends:   base >= 4 && < 5,
                     mtl,
                     haskell-src-exts,
                     aeson,
                     unordered-containers,
                     attoparsec,
                     vector,
                     text,
                     utf8-string,
                     bytestring,
                     pretty-show,
                     HUnit,
                     process,
                     filepath,
                     directory,
                     data-default,
                     safe,
                     language-ecmascript,
                     groom,
                     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
  if flag(devel)
    build-depends:   base >= 4 && < 5,
                     mtl,
                     haskell-src-exts,
                     aeson,
                     unordered-containers,
                     attoparsec,
                     vector,
                     text,
                     utf8-string,
                     bytestring,
                     pretty-show,
                     HUnit,
                     process,
                     filepath,
                     directory,
                     blaze-html,
                     blaze-markup,
                     bytestring,
                     time,
                     data-default,
                     safe,
                     language-ecmascript,
                     groom