summaryrefslogtreecommitdiff
path: root/gf.cabal
AgeCommit message (Collapse)Author
2015-01-14gf.cabal: include PGF.Haskellhallgren
2014-12-15gf.cabal: include editor modes in the list of data files to installhallgren
Also add ghc-7.8.3 to the list of tested compiler versions
2014-12-11Work in progress on translating linearization functions to Haskellhallgren
The translation is currently good enough to translate all concrete syntaxes of the Foods and Letter grammars, and some concrete syntaxes of the Phrasebook grammar (e.g. PhrasebookEng & PhrasebookSpa works, but there are problems with e.g. PhrasebookSwe and PhrasebookChi) This functionality is enabled by running gf -make -output-format=haskell -haskell=concrete ... TODO: - variants - pre { ... } - eta expansion of linearization functions - record subtyping can still cause type errors in the Haskell code in some cases - reduce code large tables
2014-11-10Some work to improve the structure of the haddock documenationhallgren
2014-11-05gf.cabal: when compiling with ghc>=7.8 require cgi>=3001.2.2.0hallgren
2014-10-28Use terminfo to highlight warnings and errors in blue and redhallgren
This replaces the hardwired ANSI escape codes that were accidentally included in a previous patch. This adds a dependency on terminfo, but this should be unproblematic, since haskeline already depends on the same underlying C library. The color highlighting is omitted on Windows.
2014-10-20Some small documentation improvementshallgren
2014-10-16Rename src/programs/gf.hs to gf-main.hs to avoid confusing GHChallgren
It appears that GHC can't keep GF.hs and gf.hs apart on systems with case insensitive file names.
2014-10-16Turn the GF compiler into a library. Main program is now in src/programs/gf.hshallgren
The module src/compiler/GF.hs now serves as a prelimiary compiler API. It just exports a selection of functions and types from the compiler. Haddock documentation can be generated with cabal haddock --hyperlink-source Also bumbed the version number to 3.6.10.
2014-10-15Rename modules GFI, GFC & GFServer...hallgren
... to GF.Interactive, GF.Compiler & GF.Server, respectively.
2014-09-11gf.cabal: add missing c-sources for the Haskell binding to the C run-time ↵hallgren
library
2014-09-03gf.cabal, gf-server.cabal: add version bounds on network & httpd-shedhallgren
* httpd-shed-0.4 does not specify an upper bound on network, but it fails to build against network>=2.6. This is fixed in httpd-shed-0.4.0.2. * With network-2.6, the Network.URI modules is moved to a separate package, so for the time being GF requires network>=2.3 && <2.6. This is compatible with the four most recent versions of the Haskell Platform.
2014-08-25gf.cabal ghc-options: don't force -j, -auto-all has been renamed to -fprof-autohallgren
2014-08-11a partial support for def rules in the C runtimekr.angelov
The def rules are now compiled to byte code by the compiler and then to native code by the JIT compiler in the runtime. Not all constructions are implemented yet. The partial implementation is now in the repository but it is not activated by default since this requires changes in the PGF format. I will enable it only after it is complete.
2014-07-25gf.cabal: fix depend in --flags=-custom-binary caseSergei Trofimovich
Detected when building today: Building gf-3.6... Preprocessing library gf-3.6... src/runtime/haskell/PGF/Internal.hs:17:8: Could not find module ‘Data.Binary.IEEE754’ It is a member of the hidden package ‘data-binary-ieee754-0.4.4’. Perhaps you need to add ‘data-binary-ieee754’ to the build-depends in your .cabal file.
2014-06-24minibar: include the grammar's last modification in the grammar info shown ↵hallgren
by the "i" button Also bumped version number in gf.cabal to 3.6-darcs. Also removed some unecessary use of CPP.
2014-06-21Update web pages and bump version number to 3.6!hallgren
2014-06-17gf.cabal: add a maintainer fieldhallgren
2014-06-12PGF library: expose only PGF and PGF.Internal instead of all moduleshallgren
PGF exports the public, stable API. PGF.Internal exports additional things needed in the GF compiler & shell, including the nonstardard version of Data.Binary.
2014-05-07Two improvements in the pgf-shell examplehallgren
1. Like pgf-translate, it now shows one result at a time, press Enter to get more results. 2. You can load a new grammar with the command 'i <path-to-pgf>'
2014-04-22gf.cabal: require base>=4.3hallgren
This makes it explicit that we no longer support compiling GF with GHC 6.12 (which is 4 years old and comes with base-4.2).
2014-04-22gf.cabal: add GF builtin default -K64M. Enable parallel compile with ghc>=7.8hallgren
+ Programs compiled with ghc<7.8 have a default built-in 8M stack size limit. With ghc>7.0 this built-in default can be changed, so it is now 64M, allowing GF to work with larger grammars without manually increasing the stack size. (But if GF is compiled with ghc 6.12, the built-in default is still 8M.) + Enable ghc>=7.8 support for compiling modules in parallel, to speed up the compilation of GF.
2014-04-08Move basic lexing functions from GF.Text.Lexing to the new module PGF.Lexinghallgren
They are thus part of the PGF Run-Time Library, making it possible to add lexing functionality in PGF service in a natural way.
2014-03-04Three fixes for compatibility with GHC 7.8hallgren
Two of the fixes were in the custom version of the binary package. We should get rid of it at some point, to reduce the maintenance burden. The third fix was to add new version constraints for happy and alex in gf.cabal. New versions of them are needed because of the ugly, low-level, GHC-specific code they produce need to be different for GHC 7.8. More fixes might be needed for -server mode, but the cgi package is not compatible with GHC 7.8 at the moment, so it will have to wait.
2014-02-10Fix broken C runtime support in gf.cabal and PGFService.hshallgren
Also add PGF service command c-flush to explicitly flush cached parse results from memory.
2014-02-07gf.cabal: pgf-shell needs containers nowhallgren
2014-02-07pgf-shell: enable -rtsopts, call performGC between commandshallgren
This is to make it easier to find the cause of space leaks.
2014-02-03gf.cabal: add default-language to silence warninghallgren
2014-01-21gf.cabal: bump version number to 3.5.12hallgren
2014-01-20Optionally include C run-time supporthallgren
If the C run-time library is compiled and installed on your system, you can now do 'cabal configure -fc-runtime' to get the following extras: + The haskell binding to the C run-time library will be included in the PGF library (so you can import it in Haskell applications). Documentation on the new modules will be included when you run 'cabal haddock'. + The new command 'pgf-shell', implemented on top of haskell binding to the C run-time system. + Three new commands in the web API: c-parse, c-linearize and c-translate. Their interfaces are similar to the corresponding commands without the "c-" prefix, but they should be considered preliminary.
2013-12-18Release note updates and some other minor thingshallgren
2013-12-17Add backward compatibility for reading old PGF fileshallgren
Some backwards incompatible changes were made to the PGF file format after the release of GF 3.5. This patch adds a module for reading PGF files in the old format. This means that old PGF files on the grammaticalframework.org server will continue to work after we install the latest version of GF.
2013-12-10option --split-pgf replaces option --mk-index. This splits the PGF into one ↵kr.angelov
file for the abstract and one more for each concrete syntax. This is a preparation for being able to load only specific languages from the whole grammar.
2013-12-03testsuite: Use Cabal's new test suite interfacehallgren
* The old way: a user hook in Setup.hs * The new way: specify it in gf.cabal * The test suite is now called gf-tests, and it runs testsuite/run.hs. * You can run it manually with 'runhaskell testsuite/run.hs'. It also runs, together with rgl-tests, when you do 'cabal test' * Currently only 9 of 34 tests pass. Many failures have silly causes: - Error messages that look slightly different - Same output but in a different order - Absolute paths in output
2013-11-29Commment code and options relating to the old partial evaluatorhallgren
This means that the -old-comp and -new-comp flags are not recognized anymore. The only functional difference is that printnames were still normalized with the old partial evaluator. Now that is done with the new partial evaluator.
2013-11-25Change how GF deals with character encodings in grammar fileshallgren
1. The default encoding is changed from Latin-1 to UTF-8. 2. Alternate encodings should be specified as "--# -coding=enc", the old "flags coding=enc" declarations have no effect but are still checked for consistency. 3. A transitional warning is generated for files that contain non-ASCII characters without specifying a character encoding: "Warning: default encoding has changed from Latin-1 to UTF-8" 4. Conversion to Unicode is now done *before* lexing. This makes it possible to allow arbitrary Unicode characters in identifiers. But identifiers are still stored as ByteStrings, so they are limited to Latin-1 characters for now. 5. Lexer.hs is no longer part of the repository. We now generate the lexer from Lexer.x with alex>=3. Some workarounds for bugs in alex-3.0 were needed. These bugs might already be fixed in newer versions of alex, but we should be compatible with what is shipped in the Haskell Platform.
2013-11-22the GF syntax for identifiers is exteded with quoted forms, i.e. you could ↵kr.angelov
write for instance 'ab.c' and then everything between the quites is identifier. This includes Unicode characters and non-ASCII symbols. This is useful for automatically generated GF grammars.
2013-11-21Add a test runner and a test suite fore the rglgregoire.detrez
The test suite tests the French Bescherelle paradigms.
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.