name: gf version: 3.1 cabal-version: >= 1.2 build-type: Simple license: GPL license-file: LICENSE synopsis: Grammatical Framework flag haskeline Description: Enable Haskeline in the shell Default: True flag readline Description: Enable Readline in the shell Default: True flag editline Description: Enable Editline in the shell Default: True flag interrupt Description: Enable Ctrl+Break in the shell Default: True library build-depends: base >= 4.1, array, containers, bytestring, random ghc-options: -O2 hs-source-dirs: src/compiler src/runtime/haskell extensions: exposed-modules: PGF other-modules: PGF.CId PGF.Data PGF.Macros PGF.Generate PGF.Linearize PGF.Parse PGF.Expr PGF.Type PGF.Tree PGF.PMCFG PGF.Paraphrase PGF.TypeCheck PGF.Binary PGF.Morphology PGF.ShowLinearize PGF.VisualizeTree GF.Data.TrieMap GF.Data.Utilities GF.Data.SortedList GF.Data.ErrM GF.Data.Relation GF.Data.Operations -- needed only for the on demand generation of PMCFG GF.Infra.GetOpt GF.Infra.Option GF.Data.ErrM GF.Data.BacktrackM GF.Compile.GeneratePMCFG -- not really part of GF but I have changed the original binary library -- and we have to keep the copy for now. Data.Binary Data.Binary.Put Data.Binary.Get Data.Binary.Builder executable gf build-depends: base >= 4.1, array, containers, bytestring, filepath, directory, random, old-time, process, pretty, mtl build-tools: happy, alex if os(windows) build-depends: Win32 else build-depends: unix ghc-options: -O2 hs-source-dirs: src/compiler src/runtime/haskell extensions: main-is: GF.hs other-modules: GF.Data.BacktrackM GF.JavaScript.AbsJS GF.JavaScript.PrintJS GF.Infra.CompactPrint GF.Text.UTF8 GF.Data.TrieMap GF.Data.Utilities GF.Data.SortedList GF.Data.ErrM GF.Data.Operations GF.Infra.Ident GF.Grammar.Predef GF.Data.Str GF.Data.Zipper GF.Infra.GetOpt GF.Infra.Option GF.Infra.UseIO GF.Command.Commands GF.Command.Interpreter GF.Command.Abstract GF.Command.Parse GF.Command.Importing GF.Infra.Modules GF.Grammar GF.Grammar.Lexer GF.Grammar.Parser GF.Grammar.Grammar GF.Grammar.Values GF.Grammar.Macros GF.Grammar.Lockfield GF.Grammar.MMacros GF.Grammar.Lookup GF.Grammar.Unify GF.Grammar.PatternMatch GF.Grammar.Printer GF.Grammar.Binary GF.Infra.CheckM GF.Compile.Update GF.Compile.CheckGrammar GF.Compile.Refresh GF.Compile.Rename GF.Compile.ReadFiles GF.Compile.GrammarToPGF GF.Compile.Concrete.TypeCheck GF.Compile.Concrete.Compute GF.Compile.Concrete.AppPredefined GF.Compile.Abstract.TC GF.Compile.Abstract.TypeCheck GF.Compile.Abstract.Compute GF.Compile.Optimize GF.Compile.SubExOpt GF.Compile.OptimizePGF GF.Compile.ModDeps GF.Compile.GetGrammar GF.Compile.PGFtoHaskell GF.Compile.PGFtoProlog GF.Compile.PGFtoJS GF.Compile GF.System.Readline GF.Quiz PGF PGF.CId PGF.Data PGF.Expr PGF.Type PGF.Tree PGF.PMCFG PGF.Macros PGF.Generate PGF.Linearize PGF.Binary PGF.Paraphrase PGF.TypeCheck PGF.Binary GFC GFI if flag(haskeline) build-depends: haskeline cpp-options: -DUSE_HASKELINE other-modules: GF.System.UseHaskeline else if flag(readline) build-depends: readline cpp-options: -DUSE_READLINE other-modules: GF.System.UseReadline else if flag(editline) build-depends: editline cpp-options: -DUSE_EDITLINE other-modules: GF.System.UseEditline else other-modules: GF.System.NoReadline if flag(interrupt) cpp-options: -DUSE_INTERRUPT other-modules: GF.System.UseSignal else other-modules: GF.System.NoSignal