summaryrefslogtreecommitdiff
path: root/gf.cabal
AgeCommit message (Collapse)Author
2013-11-06Make PGF.Tree internalhallgren
The only use of PGF.Tree outside the PGF library was in GF.Command.Commands, and it was eliminated by using PGF.Expr directly instead. PGF.Paraphrase still uses PGF.Tree.
2013-11-06Remove PGF.Signaturehallgren
This module should not be part of the public PGF library API, and it was only used in GF.CompileToAPI, so the code was moved there. The module defined constFuncs and syntaxFuncs, but only syntaxFuncs was used.
2013-11-05Eliminate mutual dependencies between the GF compiler and the PGF libraryhallgren
+ References to modules under src/compiler have been eliminated from the PGF library (under src/runtime/haskell). Only two functions had to be moved (from GF.Data.Utilities to PGF.Utilities) to make this possible, other apparent dependencies turned out to be vacuous. + In gf.cabal, the GF executable no longer directly depends on the PGF library source directory, but only on the exposed library modules. This means that there is less duplication in gf.cabal and that the 30 modules in the PGF library will no longer be compiled twice while building GF. To make this possible, additional PGF library modules have been exposed, even though they should probably be considered for internal use only. They could be collected in a PGF.Internal module, or marked as "unstable", to make this explicit. + Also, by using the -fwarn-unused-imports flag, ~220 redundant imports were found and removed, reducing the total number of imports by ~15%.
2013-11-05fix in gf.cabal. Data.Binary.IEEE754 needs to be in the other-modules list ↵kr.angelov
for the PGF library since otherwise building GF applications will fail
2013-10-31Add a cabal flag to use the standard binary packagehallgren
The standard binary package has improved efficiency and error handling [1], so in the long run we should consider switching to it. At the moment, using it is possible but not recommended, since it results in incomatible PGF files. The modified modules from the binary package have been moved from src/runtime/haskell to src/binary. [1] http://lennartkolmodin.blogspot.se/2013/03/binary-07.html
2013-09-09Fix an old name shadowing bug in concrete syntax by removing the refresh passhallgren
The refresh pass does not correctly keep track of the scope of local variables and can convert things like \x->(\x->x) x into \x1->(\x2->x2) x2. Fortunately, it appears that the refresh pass is not needed anymore, so it has been removed.
2013-09-02gf.cabal: version: 3.5-darcshallgren
2013-08-06Update to version 3.5 in gf.cabal and debian/changeloghallgren
2013-07-29Adding download page and release notes for the next release of GFhallgren
The suggested next release is 3.4.8 in early August. Feel free to add things in download/release-3.4.8.t2t.
2013-04-02gf.cabal: fix tab char problemhallgren
2013-04-02gf.cabal: gf depends on utf8-string even when compiled without server supporthallgren
2013-03-09ghc-7.6: allow directory-1.2Sergei Trofimovich
Get rid of old-time depend (and ClockTime in favour of UTCTime). time-compat helps to retain backward compatibility with directory-1.1 and lower.
2013-02-11gf.cabal: version 3.4-darcshallgren
2013-01-30This is GF 3.4!hallgren
2013-01-30gf.cabal: Tested-with GHC==7.4.2 only, older versions cause minor problemshallgren
2012-12-07Make -new-comp the default and bump the version number to 3.3.11-darcshallgren
* -new-comp (the new partial evaluator) is now chosen by default when you run cabal install (or cabal configure). To revert to using the old partial evaluator by default, use "cabal install -f-new-comp" (or "cabal configure -f-new-comp"). * Regardless of the configured default, you can choose which partial evaluator to use when you invoke gf by using the -new-comp or -old-comp command line option. * The cc command in the GF shell uses the chosen partial evaluator by default, but you can override this by using "cc -new" or "cc -old". The plan is that these flags will be romeved in a future version.
2012-11-23gf -server + gfse: show modification time of public grammarshallgren
2012-11-20Update gf.cabal to copy new common js filesjohn.j.camilleri
2012-11-13Add first demo of new syntax editorjohn.j.camilleri
As part of the GF cloud stuff, it can be accessed from http://cloud.grammaticalframework.org/syntax-editor/editor.html
2012-11-13Adding a new experimental partial evalutatorhallgren
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-08Eliminate warnings about deprecated use of catch and tryhallgren
This is also needed for compatibility with GHC 7.6.
2012-10-26gf.cabal: version of parallel needs to be >=3hallgren
2012-10-05Factor out code for setting the console encodinghallgren
Moved similar low-level code blocks in Main and GFI for setting the console encoding to the new module GF.System.Console.
2012-09-25Use the SIO monad in the GF shellhallgren
+ The restrictions on arbitrary IO when GF is running in restricted mode is now enforced in the types. + This hopefully also solves an intermittent problem when accessing the GF shell through the web API provided by gf -server. This was visible in the Simple Translation Tool and probably caused by some low-level bug in the GHC IO libraries.
2012-06-26Experiment with parallel grammar checkshallgren
Introduced the function parallelCheck :: [Check a] -> Check [a] that runs independent checks in parallel, potentially allowing faster grammar compilation on multi-core computers, if you run gf with +RTS -N. However, on my dual core laptop, this seems to slow down compilation somewhat even though CPU utilization goes up as high as 170% at times. (This is with GF compiled with GHC 7.0.4.)
2012-06-18cloud service: add preliminary cloud service API documentationhallgren
2012-06-11GF home page: link to GF clouds service (cloud.grammaticalframework.org)hallgren
Also some small cloud service documentation updates.
2012-05-15Adding a Simple Translation Toolhallgren
It is part of the cloud services available with gf -server.
2012-05-04alex 3 incompatibility workaroundhallgren
As a temporary workaround, alex is no longer invoked automatically when building with cabal. Developers who want to modify the lexer need to run alex on Lexer.x manually and record the modified Lexer.hs. src/compiler/GF/Grammar/lexer/Lexer.x -- hidden from cabal src/compiler/GF/Grammar/Lexer.hs -- update it manually
2012-03-30gf.cabal: removing -O2 hallgren
Removing "ghc-options: -O2" from gf.cabal has the following advantages: + Compiling GF is faster (time drops from 182s to 142s on my laptop) + Compiling the RGL is faster (time drops from 159s to 155s on my laptop) + Without the hardwired optimization level, the 'cabal configure' options --enable-optimization=<n> and --disable-optimization work as expected (so if you still want -O2, use --enable-optimization=2) + GF can be compiled with ghc-7.2.2 and ghc-7.4.1 (-O2 triggers a bug in these versions of ghc, it seems. Another workaround, discovered by Sergei Trofimovich, is to use -O0 in Data.Binary.)
2012-03-08gf.cabal: update version number to 3.3.3-darcshallgren
2012-03-02gf.cabal: update version number to 3.3.3hallgren
but I am not tagging it yet, there is still time for some changes
2012-02-28gfse: Translation Quiz integrationhallgren
Also moved the translation quiz from demos/TransQuiz to src/www/TransQuiz so that it will be installed by 'cabal install' along with the other files that are installed for use by gf -server mode.
2011-11-02merge GF.Infra.Modules and GF.Grammar.Grammar. This is a preparation for the ↵kr.angelov
separate PGF building
2011-11-01Remove configuration flag cclazyhallgren
2011-10-25Preparations for release of GF 3.3hallgren
+ Changing version numbers and dates here and there. + Simplify build-binary-dist.sh since pgf-http need not be built anymore. + Use--gf-lib-path to make the sample grammars for minibar compile even if GF is not installed.
2011-10-12Improvements of "gf -server" mode and related setuphallgren
"gf -server" mode now contains everything needed to run the minibar and the grammar editor (including example-based grammar writing). The Setup.hs script installs the required files where gf -server can find them. These files have been moved to a new directory: src/www. The separate server program pgf-http is now obsolete.
2011-10-10More functionality in "gf -server" modehallgren
"gf -server" mode now includes PGF service and the services to support example-based grammar writing. (But gf -server is not quite ready to replace pgf-http yet...) Also bumped GF version number to 3.2.10-darcs
2011-09-15added topological sort module to PGF - to be used in example based grammar ↵ra.monique
writing
2011-09-12Take snapshot, version 3.2.9hallgren
2011-09-12gf.cabal: add Tested-With fieldhallgren
2011-09-09Make -fcclazy (the new faster lazy compute_concrete) the default. Bump ↵hallgren
version number to 3.2.9
2011-09-01Add lazy version of GF.Compile.Compute.Concretehallgren
This patch adds GF.Compile.Compute.ConcreteLazy, which replaces the Err monad with the Identity monad. While the Err monad makes the interpreter (hyper)strict, the Identity monad let's the interpreter inherit Haskell's laziness. This can give big speedups: from 50s to 1s in one example, from ~4 minutes to ~2 minutes for the RGL. This is still experimental and might be buggy, so it is off by default. You can turn it on by configuring with the -fcclazy flag, e.g. cabal configure -fcclazy Let me know if anything breaks.
2011-08-12gf.cabal: bump version to 3.2.8-darcshallgren
This is just to make it easier to tell who has the latest version at the summer school. There has been some bug fixes in gf itself and some significant additions to the RGL since 3.2 was released. Also explicitly require Alex 2.x. The recently released Alex 3.0 has backwards incompatible changes and does not work. GF/Grammar/Lexer.x should probably be modified to support both Alex 2.x and Alex 3.0...
2011-04-13Added a preliminary "gf -server" mode.hallgren
The command "gf -server" now starts a simple HTTP server on port 41295, providing a simple web API to the GF compiler. It currently support the follwing operations: * creating new temporary directories for grammar uploads, * uploading grammars files for use in the GF shell, * executing GF shell commands, and * accessing static files. This means that GF now depends on some additional networking related packages, but they should be available and easy to install on all platforms. There is also a new configuration flag "server" in gf.cabal, so GF will be compiled without support for server mode if the extra packages are unavailable. Note that running gf -server while connected to the internet can be a security risk. To prevent unauthorized access to the rest of the system, it is advisable to run the server in GF_RESTRICTED mode and as a user with suitably restricted file permissions.
2011-02-10Adding a basic lexicon-based tokenizer and the asociated command in gf shellgdetrez
2010-12-11Adding an option to the gf compiler to add an index to pgf filesgdetrez
This is gonna be used by the android library to skip unused part of a pgf file
2011-03-03gf.cabal: bump version number, add source repository infohallgren
I changed the version number to 3.2.1-darcs. I think the version number of the current version from darcs should always include the "-darcs" suffix (or "-current" perhaps?). The suffix should be removed only momentarily when making an official release.
2010-12-28Fix to compile GF with GHC>=7.0hallgren
2010-12-23Update version number to 3.2.hallgren
Code freeze for generation of binary distribution packages is imminent.