| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
- Re-implement `Distribution.Simple.BuildPaths.exeExtension`
- Turn off `MonadFailDesugaring`
Tested with GHC:
- 7.10.3
- 8.0.2
- 8.2.2
- 8.4.3
- 8.6.2
Yay Stack!
|
|
This was making it impossible to install gf as external source in cabal sandbox
|
|
|
|
|
|
Also used installed RGL not built
|
|
|
|
|
|
|
|
Really just for my own understanding
|
|
|
|
|
|
- update headers
- add Por modules to lib/src/api/
|
|
|
|
|
|
|
|
Also adjust the -path pragmas in a few places in lib/src/ancient_greek
|
|
|
|
The difference between "One change" and "No changes" is very noticeable.
|
|
a directory
This avoids problems with .DS_Store files created by the Finder on OS X.
|
|
darcs
It worked with darcs-2.8 before, now it also works with darcs-2.10.
|
|
|
|
|
|
|
|
When mkPresent (or another preprocessor) is used, error messages from GF will
show the file name _gf_preproc.tmp instead of the name of the file where
the error occurred. By compiling Alltenses first, the real file name will
appear in error messages (unless the error only happens then mkPresent is
used).
|
|
|
|
|
|
This is to avoid a (harmless) error message from darcs when compiling sources
obtained e.g. from github.
|
|
On my laptop these changes speed up the full build of the RGL and example
grammars with 'cabal build' from ~95s to ~43s and the zero build from ~18s
to ~5s.
The main change is the introduction of the module GF.CompileInParallel that
replaces GF.Compile and the function GF.Compile.ReadFiles.getAllFiles. At
present, it is activated with the new -j flag, and it is only used when
combined with --make or --batch. In addition, to get parallel computations,
you need to add GHC run-time flags, e.g., +RTS -N -A20M -RTS, to the command
line.
The Setup.hs script has been modified to pass the appropriate flags to GF
for parallel compilation when compiling the RGL and example grammars, but you
need a recent version of Cabal for this to work (probably >=1.20).
Some additonal refactoring were made during this work. A new monad is used to
avoid warnings/error messages from different modules to be intertwined when
compiling in parallel, so some functios that were hardiwred to the IO or IOE
monads have been lifted to work in arbitrary monads that are instances in
the appropriate classes.
|
|
The RGL is now compile with only three calls to GF (prelude, present,
alltenses). This also makes even more parallelism available to GF for speeding
up full builds of the RGL.
|
|
|
|
|
|
This speedup is obtained by instead of generating 211 shell commands to compile the RGL one file at a time, generate 7 shell commands, passing a number of
related files to GF in one go.
In addition to cutting down the zero build time, this opens up for speeding up
full builds of the RGL, by adding more parallelism in GF's grammar compilation
machinery.
(Note: gf.cabal already takes advantage of GHC's parallel build option to
speed up the compilation of GF itself, if GHC>=7.8 is used.)
|
|
This allows more errors to be detected by the build bot.
TODO: fix the gf --output-dir flag, which does not seem to change where PGF
file are put.
|
|
|
|
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.
|
|
* 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
|
|
In Cabal-1.18, the build command takes some new arguments. The Setup.hs script
should not die if these are present.
|
|
|
|
Of course some bugs remain and more testing is needed,
but all functions are complete and Maltese now builds as part
of the normal GF install.
|
|
|
|
|
|
For this to have any effect, Setup.hs has to be compiled with -threaded, which
cabal-install doesn't do, unfortunately...
|
|
Fixes build failure on ghc-7.6:
$ runhaskell Setup.hs configure
Setup.hs:394:14: Not in scope: `E.try'
base-4 is available/default since ghc-6.10.
|
|
The reported number of recorded changes since the last tagged version was off
by one (because it counted the change that set the tag).
Also added a note that -K32M is not needed when using new-comp. But -old-comp
is still available as a configuration option, so I'm keeping -K32M for now.
|
|
|
|
|
|
To be specific: Amh, Ara, Lat, Tur and Mlt.
|