summaryrefslogtreecommitdiff
path: root/gf.cabal
AgeCommit message (Collapse)Author
2015-09-11Parallel compilation: "gf -make -j" and "gf -make -j=n" now work as expectedhallgren
* "gf -make -j=n" uses n parallel threads. * "gf -make -j" adapts to the number of processors in the system. This mimics how "cabal build -j" and "ghc --make -j" works. Support for this is implemented in the new module GF.System.Concurrency and it depends on the function Control.Concurrent.setNumCapabilities, which is only available in GHC>=7.6 (base>=4.6). GF can still be compiled with GHC<7.6, but then you have to use +RTS -N -RTS to take advantage of multicore processors. To detect the number of processors in the system, the code depends on a foreign import of a C function in the GHC run-time system.
2015-09-03PGF2.Expr fixeshallgren
It needs to be listed in gf.cabal unsafePerformIO is only exported from System.IO.Unsafe, starting with ghc-7.8
2015-08-12GF shell: source commands (cc, sd, so, ss & dg) can now be used in pipeshallgren
These commands are now implemented as regular commands (i.e. using the CommandInfo data type) in the new module GF.Command.SourceCommands. The list of commands exported from GF.Command.Commmands now called pgfCommands instead of allCommands. The list allCommands of all commands is now assembled from sourceCommands, pgfCommands, commonCommands and helpCommand in GF.Interactive.
2015-08-10Forgot to include gf.cabal in previous patchhallgren
2015-08-10gf -cshell: preliminary support for the C run-time system in the GF shellhallgren
Some C run-time functionality is now available in the GF shell, by starting GF with 'gf -cshell' or 'gf -crun'. Only limited functionality is available when running the shell in these modes: - You can only import .pgf files, not source files. - The -retain flag can not be used and the commands that require it to work are not available. - Only 18 of the 40 commands available in the usual shell have been implemented. The 'linearize' and 'parse' commands are the only ones that call the C run-time system, and they support only a limited set of options and flags. Use the 'help' commmands for details. - A new command 'generate_all', that calls PGF2.generateAll, has been added. Unfortuntaly, using it causes 'segmentation fault'. This is implemented by adding two new modules: GF.Command.Commands2 and GF.Interactive2. They are copied and modified versions of GF.Command.Commands and GF.Interactive, respectively. Code for unimplemented commands and other code that has not been adapted to the C run-time system has been left in place, but commented out, pending further work.
2015-08-10Refactor GF shell modules to improve modularity and reusabilityhallgren
+ Move type CommandInfo from GF.Command.Commands to a new module GF.Commands.CommandInfo and make it independent of the PGF type. + Make the module GF.Command.Interpreter independent of the PGF type and eliminate the import of GF.Command.Commands. + Move the implementation of the "help" command to its own module GF.Command.Help
2015-06-25Remove left over [...] from release notes, bump version number in gf.cabal ↵hallgren
to 3.7-darcs
2015-06-25Update home page, download page & release notes for GF 3.7. Bump version ↵hallgren
number in gf.cabal
2015-06-25Documentation updates for the release of GF 3.7hallgren
2015-04-20forgot to update gf.cabalkrasimir
2015-04-14Translating linearization functions to Haskell: move Haskell AST and pretty ↵hallgren
printer to GF.Haskell For further separation of pretty printing concerns from conversion concerns, the Haskell AST and pretty printer has been moved to its own module, GF.Haskell, also allowing it to be reused in other places where Haskell code is generated.
2015-03-05gf.cabal: increase idle time before full GC to 5 secondshallgren
The builtin GHC RTS default is 0.3 seconds, which results in very bad interactive behaviour when working with a large grammar in the GF shell.
2015-03-05remove some more old codekrasimir
2015-02-25gf.cabal: adjust version constrains on the network, cgi and httpd-shed packageshallgren
2015-02-25PGFService: make the restriction on parallelism more effectivehallgren
Restrict the entire request handler instead of just the call to the C parser.
2015-02-16Changes for compatibility with ghc-7.10-rc2hallgren
2 modules: Name clashes caused by Applicative-Monad change in Prelude 2 modules: Ambiguities caused by Foldable/Traversable in Prelude 2 modules: Backwards incompatible changes in time-1.5 for defaultTimeLocale 9 modules: {-# LANGUAGE FlexibleContexts #-} (because GHC checks inferred types now, in addition to explicitly given type signatures) Also silenced warnings about tab characters in source files.
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