Commit Graph

24 Commits

Author SHA1 Message Date
John J. Camilleri
b090e9b0ff Add --haskell=pgf2 flag 2021-07-01 15:31:00 +02:00
Inari Listenmaa
7c478016d0 Replace deprecated pragma with up-to-date one. (#17) 2020-08-03 19:45:20 +02:00
Inari Listenmaa
868566a319 Remove accidentally added space character in deriving clause. 2020-07-31 15:16:45 +02:00
Inari Listenmaa
aeabc955c8 Remove characters that aren't allowed in Haskell data types.
GF allows more characters in its types, as long as they are inside
single quotes. E.g. 'VP/Object' is a valid name for a GF category,
but not for a Haskell data type.
2020-07-31 15:05:46 +02:00
Inari Listenmaa
030c3bfee9 Add option "data" to Haskell options.
Imports Data.Data, all GF types derive Data, and uses DeriveDataTypeable.
2020-07-31 12:46:19 +02:00
Inari Listenmaa
8c382b3cb1 Add {-# LANGUAGE GADTs -#} to the generated Haskell file 2018-10-19 15:20:05 +02:00
Aarne Ranta
8005aee378 in Haskell GADT generation, hide Tree in the import of PGF 2017-09-06 10:51:43 +02:00
Krasimir Angelov
b7b7a7c91c the embedded grammars now work with both the pure Haskell and the Haskell binding API 2017-08-29 18:44:50 +02:00
aarne
1e33235144 fixed a bug in Eq instance generation for GADT and lexical categories 2017-03-22 22:25:21 +00:00
aarne
34627e7427 corrected fg generation for lexical categories, to avoid a type error in generated code 2017-02-24 20:50:36 +00:00
hallgren
5bfaf10de5 Comment out some dead code found with -fwarn-unused-binds
Also fixed some warnings and tightened some imports
2015-08-28 13:59:43 +00:00
kr.angelov
584d589041 a partial support for def rules in the C runtime
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-08-11 10:59:10 +00:00
hallgren
d6252d1c16 PGF library: expose only PGF and PGF.Internal instead of all modules
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-06-12 14:43:18 +00:00
hallgren
3814841d7d Eliminate mutual dependencies between the GF compiler and the PGF library
+ 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-05 13:11:10 +00:00
aarne
850e02cb6e hs datatype generation for empty abstract types added 2013-07-24 08:11:16 +00:00
kr.angelov
f8fe23fda7 A basic infrastructure for generating Teyjus bytecode from the GF abstract syntax 2012-08-29 11:43:02 +00:00
aarne
75e401d1a7 generate Eq instance for GADT 2011-04-06 12:27:31 +00:00
aarne
7067b1c992 fixed the printing of predefined and list categories in haskell=gadt 2011-04-06 07:45:35 +00:00
aarne
f32307b39d added composOp generation to haskell-gadt, and an example in examples/gadt-transfer 2011-03-05 22:25:03 +00:00
aarne
14f11bb2b9 revived GADT generation 2011-03-04 17:05:40 +00:00
krasimir
cb8795c222 refactor the API for random generation again. Now PGF contains probabilities in the abstract syntax 2010-10-02 13:03:57 +00:00
krasimir
6313244eac use the native unicode support from GHC 6.12 2010-04-19 09:38:36 +00:00
krasimir
57c2a4dcd2 fix the Haskell code generation 2010-02-17 13:09:23 +00:00
krasimir
faa638d6fc rename some modules that had GFCC in the name to PGF+something 2009-12-14 10:10:58 +00:00