Files
gf-core/gf.cabal
hallgren 27e675910a Adding a new experimental partial evalutator
GF.Compile.Compute.ConcreteNew + two new modules contain a new
partial evaluator intended to solve some performance problems with the old
partial evalutator in GF.Compile.Compute.ConcreteLazy. It has been around for
a while, but is now complete enough to compile the RGL and the Phrasebook.

The old partial evaluator is still used by default. The new one can be activated
in two ways:

  - by using the command line option -new-comp when invoking GF.
  - by using cabal configure -fnew-comp to make -new-comp the default. In this
    case you can also use the command line option -old-comp to revert to the old
    partial evaluator.

In the GF shell, the cc command uses the old evaluator regardless of -new-comp
for now, but you can use "cc -new ..." to invoke the new evaluator.

With -new-comp, computations happen in GF.Compile.GeneratePMCFG instead of
GF.Compile.Optimize. This is implemented by testing the flag optNewComp in
both modules, to omit calls to the old partial evaluator from GF.Compile.Optimize
and add calls to the new partial evaluator in GF.Compile.GeneratePMCFG.
This also means that -new-comp effectively implies -noexpand.

In GF.Compile.CheckGrammar, there is a check that restricted inheritance is used
correctly. However, when -noexpand is used, this check causes unexpected errors,
so it has been converted to generate warnings, for now.

-new-comp no longer enables the new type checker in
GF.Compile.Typeckeck.ConcreteNew.

The GF version number has been bumped to 3.3.10-darcs
2012-11-13 14:09:15 +00:00

228 lines
5.1 KiB
Plaintext

name: gf
version: 3.3.10-darcs
cabal-version: >= 1.8
build-type: Custom
license: OtherLicense
license-file: LICENSE
category: Natural Language Processing, Compiler
synopsis: Grammatical Framework
description: GF, Grammatical Framework, is a programming language for multilingual grammar applications
homepage: http://www.grammaticalframework.org/
bug-reports: http://code.google.com/p/grammatical-framework/issues/list
tested-with: GHC==6.12.3, GHC==7.0.4, GHC==7.4.2
data-dir: src
data-files: www/*.html
www/P/*.png
www/gfse/*.html
www/gfse/*.css
www/gfse/*.js
www/gfse/P/*.png
www/gfse/P/*.jpg
www/minibar/*.html
www/minibar/*.css
www/minibar/*.js
www/minibar/*.png
www/TransQuiz/*.html
www/TransQuiz/*.css
www/TransQuiz/*.js
www/TransQuiz/*.png
www/translator/*.html
www/translator/*.css
www/translator/*.js
source-repository head
type: darcs
location: http://www.grammaticalframework.org/
flag interrupt
Description: Enable Ctrl+Break in the shell
Default: True
flag server
Description: Include --server mode
Default: True
flag new-comp
Description: Make -new-comp the default
Default: False
library
build-depends: base >= 4.2 && <5,
array,
fst,
containers,
bytestring,
random,
pretty,
mtl
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.SortTop
PGF.Expr
PGF.Type
PGF.Tree
PGF.Tokenizer
PGF.Paraphrase
PGF.TypeCheck
PGF.Binary
PGF.Morphology
PGF.VisualizeTree
PGF.Printer
PGF.Probabilistic
PGF.Forest
PGF.Optimize
PGF.Signature
GF.Data.TrieMap
GF.Data.Utilities
GF.Data.SortedList
GF.Data.ErrM
GF.Data.Relation
GF.Data.Operations
-- 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
Data.Binary.IEEE754
executable gf
build-depends: base >= 4.2 && <5,
array,
containers,
bytestring,
filepath,
fst,
directory,
random,
old-time,
process,
pretty,
mtl,
haskeline,
parallel>=3
ghc-options: -threaded
if flag(server)
build-depends: httpd-shed, network, utf8-string, json, cgi
-- ,silently
cpp-options: -DSERVER_MODE
other-modules: GFServer
hs-source-dirs: src/server src/server/transfer src/example-based
if flag(new-comp)
cpp-options: -DNEW_COMP
build-tools: happy
--, alex>=2 && <3 -- tricky to install in Ubuntu 12.04
if os(windows)
build-depends: Win32
else
build-depends: unix
ghc-prof-options: -auto-all
if impl(ghc>=7.0)
ghc-options: -rtsopts
hs-source-dirs: src/compiler src/runtime/haskell
extensions:
main-is: GF.hs
other-modules:
GF.Data.BacktrackM
GF.Data.TrieMap
GF.Data.Utilities
GF.Data.SortedList
GF.Data.ErrM
GF.Data.Operations
GF.Data.Str
GF.JavaScript.AbsJS
GF.JavaScript.PrintJS
GF.Infra.Ident
GF.Infra.GetOpt
GF.Infra.Option
GF.Infra.UseIO
GF.Infra.CheckM
GF.System.Catch
GF.System.Console
GF.System.Signal
GF.Command.Commands
GF.Command.Interpreter
GF.Command.Abstract
GF.Command.Parse
GF.Command.Importing
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.ShowTerm
GF.Grammar.Binary
GF.Compile.Update
GF.Compile.CheckGrammar
GF.Compile.Refresh
GF.Compile.Rename
GF.Compile.ReadFiles
GF.Compile.GrammarToPGF
GF.Compile.ToAPI
GF.Compile.TypeCheck.Abstract
GF.Compile.TypeCheck.Concrete
GF.Compile.TypeCheck.ConcreteNew
GF.Compile.TypeCheck.TC
GF.Compile.Compute.Abstract
GF.Compile.Compute.Concrete
GF.Compile.Compute.ConcreteNew1
GF.Compile.Compute.ConcreteNew
GF.Compile.Compute.AppPredefined
GF.Compile.Compute.Value
GF.Compile.Compute.Predef
GF.Compile.Optimize
GF.Compile.SubExOpt
GF.Compile.GetGrammar
GF.Compile.PGFtoHaskell
GF.Compile.PGFtoProlog
GF.Compile.PGFtoJS
GF.Compile
GF.Index
GF.Quiz
PGF
PGF.CId
PGF.Data
PGF.Expr
PGF.Type
PGF.Tree
PGF.Macros
PGF.Generate
PGF.Linearize
PGF.Binary
PGF.Paraphrase
PGF.TypeCheck
PGF.Binary
PGF.Printer
PGF.Optimize
GFC
GFI
if flag(interrupt)
cpp-options: -DUSE_INTERRUPT
other-modules: GF.System.UseSignal
else
other-modules: GF.System.NoSignal