packages feed

flite-0.1.1: flite.cabal

Name:               flite
Version:            0.1.1
Synopsis:           f-lite compiler, interpreter and libraries
License:            BSD3
License-file:       LICENSE
Author:             Matthew Naylor
Maintainer:         Jason Reich <jason@cs.york.ac.uk>, Matthew Naylor <mfn@cs.york.ac.uk>
Stability:          provisional
Homepage:           http://www.cs.york.ac.uk/fp/reduceron/
Build-Type:         Simple
Cabal-Version:      >=1.6
Description:        The f-lite language is a subset of Haskell 98 and Clean consisting of function
                    definitions, pattern matching, limited let expressions, function applications and
                    constructor applications expressed in the explicit 'braces' layout-insensitive format.
                    
                    See README for more information. Example flite programs included in source distribution.
Category:           Compiler
Extra-Source-Files: README examples/*.hs

Flag Pure
    Description:   Use the pure parser instead of the Parsec
    Default:       False

Executable flite-pure
    Main-is:       fl-pure.hs
    Other-Modules:  Flite.CallGraph, Flite.Case, Flite.Compile, Flite.CompileBackend
                    Flite.CompileFrontend, Flite.ConcatApp, Flite.Descend, Flite.Flatten, 
                    Flite.Flite, Flite.Fresh, Flite.Identify, Flite.Identity, Flite.Inline, 
                    Flite.Interp, Flite.InterpFrontend, Flite.LambdaLift, Flite.Let, 
                    Flite.Matching, Flite.Parse, Flite.ParseLib, Flite.Predex, Flite.Pretty,
                    Flite.RedCompile, Flite.RedFrontend, Flite.RedSyntax,
                    Flite.State, Flite.Strictify, Flite.Syntax, Flite.Traversals, Flite.Writer,
                    Flite.Writer, Flite.WriterState
    if flag(pure)
        Build-Depends: base >= 3 && < 5, haskell98 >= 1 && < 2,
                       array >= 0 && < 1, containers >= 0 && < 1
    else
        buildable:     False

Executable flite
    Main-is:       fl-parsec.hs
    if flag(pure)
        buildable:     False
    else
        Build-Depends: base >= 3 && < 5, haskell98 >= 1 && < 2,
                       array >= 0 && < 1, containers >= 0 && < 1,
                       parsec >= 2.1.0.1 && < 3
        Other-Modules:  Flite.CallGraph, Flite.Case, Flite.Compile, Flite.CompileBackend
                        Flite.CompileFrontend, Flite.ConcatApp, Flite.Descend, Flite.Flatten, 
                        Flite.Fresh, Flite.Identify, Flite.Identity, Flite.Inline, Flite.Interp, 
                        Flite.InterpFrontend, Flite.LambdaLift, Flite.Let, Flite.Matching, 
                        Flite.Predex, Flite.Pretty, Flite.RedCompile, Flite.RedFrontend, 
                        Flite.RedSyntax, Flite.State, Flite.Strictify, Flite.Syntax, 
                        Flite.Traversals, Flite.Writer, Flite.Writer, Flite.WriterState,
                        Flite.Parsec.Parse, Flite.Parsec.Flite
    
Library
    Build-Depends:   base >= 3 && < 5, haskell98 >= 1 && < 2,
                     array >= 0 && < 1, containers >= 0 && < 1,
                     parsec >= 2.1.0.1 && < 3
    Exposed-modules: Flite.CallGraph, Flite.Case, Flite.ConcatApp,
                     Flite.Descend, Flite.Fresh, Flite.Identify, Flite.Identity,
                     Flite.Inline, Flite.Let, Flite.Matching, Flite.Pretty,
                     Flite.Syntax, Flite.Traversals, Flite.Writer,
                     Flite.Parsec.Parse
    Other-Modules:  Flite.Compile, Flite.CompileBackend
                    Flite.CompileFrontend, Flite.Flatten, Flite.Interp,
                    Flite.InterpFrontend, Flite.LambdaLift, Flite.Predex, 
                    Flite.RedCompile, Flite.RedFrontend, Flite.RedSyntax,
                    Flite.State, Flite.Strictify, Flite.WriterState