John J. Camilleri
42bdee1e5f
Remove workarounds for bugs in canonical format
2021-08-04 10:58:49 +02:00
John J. Camilleri
e2ed512bbb
Merge branch 'master' into lpgf
2021-08-01 09:38:42 +02:00
Andreas Källberg
7faf8c9dad
Clean up redundant case expressions
2021-07-12 16:38:29 +08:00
Andreas Källberg
b3881570c7
Remove last traces of the Either in value2term
2021-07-12 15:53:49 +08:00
Andreas Källberg
bd270b05ff
Remove the Either Int from value2term
...
This prevents HUGE space leak and makes compiling a PGF a LOT faster
For example, an application grammar moved from taking over 50GB
of ram and taking 5 minutes (most of which is spent on garbage colelction)
to taking 1.2 seconds and using 42mb of memory
The price we pay is that the "variable #n is out of scope" error is now
lazy and will happen when we try to evaluate the term instead of
happening when the function returns and allowing the caller to chose how
to handle the error.
I don't think this should matter in practice, since it's very rare;
at least Inari has never encountered it.
2021-07-12 15:50:43 +08:00
John J. Camilleri
c02a3e0617
Merge branch 'master' into lpgf
2021-07-08 13:57:18 +02:00
John J. Camilleri
a1fd3ea142
Fix bug introduced in cdbe73eb47
...
Apparently I don't understand how pattern-matching works in Haskell
2021-07-08 13:56:58 +02:00
John J. Camilleri
7dc396e841
Merge branch 'master' into lpgf
...
# Conflicts:
# gf.cabal
2021-07-08 12:25:46 +02:00
John J. Camilleri
cdbe73eb47
Remove two missing-methods warnings
2021-07-08 12:10:41 +02:00
John J. Camilleri
d6416089d6
Move some definitions into LPGF.Internal, clean up public API.
2021-07-08 11:34:29 +02:00
John J. Camilleri
0954b4cbab
More cabal file cleanup. Remove some more tabs from Haskell source.
2021-07-07 13:04:09 +02:00
John J. Camilleri
045def61d8
Merge branch 'master' into lpgf
...
# Conflicts:
# gf.cabal
# src/compiler/GF/Grammar/Canonical.hs
2021-07-07 09:42:44 +02:00
John J. Camilleri
f2e52d6f2c
Replace tabs for whitespace in source code
2021-07-07 09:40:41 +02:00
John J. Camilleri
4bd26eae6d
Merge branch 'master' into lpgf
...
# Conflicts:
# gf.cabal
# src/compiler/GF/Compile/GrammarToCanonical.hs
# src/compiler/GF/Grammar/Canonical.hs
# src/compiler/GF/Infra/Option.hs
2021-07-07 08:36:09 +02:00
John J. Camilleri
ef42216415
Add import from command line invocation to command history
...
Closes #64
2021-07-06 15:35:03 +02:00
Inari Listenmaa
d2fb755fab
Merge branch 'master' into concrete-new
2021-07-06 09:37:22 +02:00
Inari Listenmaa
1b66bf2773
Merge pull request #121 from Meowyam/issue97
...
resolves GrammaticalFramework/gf-core/#97
2021-07-06 09:22:48 +02:00
Meowyam
1e3de38ac4
remove redundant options
2021-07-06 15:22:59 +08:00
Inari Listenmaa
4e8859aa75
Merge pull request #118 from GrammaticalFramework/canonical
...
Fixes to canonical compilation
2021-07-06 09:16:52 +02:00
Meowyam
dff215504a
resolves GrammaticalFramework/gf-core/#97, without l
2021-07-06 15:00:17 +08:00
Inari Listenmaa
173ab96839
Hotfix for https://github.com/GrammaticalFramework/gf-core/issues/56
2021-07-06 14:59:53 +08:00
John J. Camilleri
dff1193f7b
Add --haskell=pgf2 flag
2021-07-06 14:59:53 +08:00
Inari Listenmaa
09d772046e
Merge pull request #57 from inariksit/cc-bugfix-rgl-only
...
Hotfix for #56 (cc doesn't work for many RGL languages)
2021-07-02 10:11:35 +02:00
Meowyam
d53e1713c7
resolves GrammaticalFramework/gf-core/#97
2021-07-02 16:08:34 +08:00
John J. Camilleri
b090e9b0ff
Add --haskell=pgf2 flag
2021-07-01 15:31:00 +02:00
John J. Camilleri
5d7c687cb7
Make imports in CheckGrammar a little more explicit
2021-07-01 14:32:39 +02:00
John J. Camilleri
376b1234a2
Rename GF.Compile.TypeCheck.RConcrete to GF.Compile.TypeCheck.Concrete
2021-07-01 14:27:11 +02:00
John J. Camilleri
71d99b9ecb
Rename GF.Compile.Compute.ConcreteNew to GF.Compile.Compute.Concrete
2021-07-01 14:21:29 +02:00
John J. Camilleri
78b73fba20
Make cleanupRecordFields also recurse into variants
...
It's possible that more constructors need to be handled
2021-07-01 13:53:33 +02:00
John J. Camilleri
e5a2aed5b6
Remove record fields not in lincat
...
Fixes #100 , #101
2021-07-01 11:47:14 +02:00
John J. Camilleri
13575b093f
Add top-level signatures and general code cleanup
2021-07-01 10:13:42 +02:00
John J. Camilleri
587004f985
Sort record fields in lin definitions
...
Fixes #102
2021-06-30 14:14:54 +02:00
John J. Camilleri
0a70eca6e2
Make GF.Grammar.Canonical.Id a type synonym for GF.Infra.Ident.RawIdent
...
This avoids a lot of conversion back and forth between Strings and ByteStrings
This commit was cherry-picked from d0c27cdaae (lpgf branch)
2021-06-30 10:58:23 +02:00
Inari Listenmaa
6efbd23c5c
Merge pull request #84 from ffrixslee/issue-46
...
Issue 46 (various deprecations during compilation of GF)
2021-06-29 23:48:00 +02:00
Andreas Källberg
2c37e7dfad
Fix build for ghc-7.10.3
2021-06-16 14:54:36 +08:00
Andreas Källberg
b1ed63b089
Don't print stack traces in Command.hs
...
They don't provide useful info anyways and they are needlessly verbose.
2021-06-16 14:26:22 +08:00
John J. Camilleri
d0c27cdaae
Make GF.Grammar.Canonical.Id a type synonym for GF.Infra.Ident.RawIdent
...
This avoids a lot of conversion back and forth between Strings and ByteStrings
2021-04-06 22:15:07 +02:00
John J. Camilleri
f7df62a445
Add support for literals
2021-03-22 09:12:34 +01:00
John J. Camilleri
f900ea3885
Don't process impossible values at all (not even for finding their types)
2021-03-16 16:59:58 +01:00
John J. Camilleri
c9f0867491
Remove state Map from compilation
2021-03-12 13:46:50 +01:00
John J. Camilleri
6c6a201d96
Introduce state with Map for caching compilation, but results are worse
2021-03-12 13:39:56 +01:00
John J. Camilleri
126b61ea03
Merge branch 'master' into lpgf
2021-03-08 13:52:34 +01:00
John J. Camilleri
0f4b349b0b
Remove old commented code
2021-03-05 16:51:59 +01:00
John J. Camilleri
dbf369aae5
Make removal of record fields recursive. Latest results with Phrasebook:
...
Bul ✓
Cat ✗
Chi ✓
Dan ✓
Dut ✓
Eng ✓
Est ✓
Fin ✓
Fre ✗
Ger ✓
Hin ✓
Ita ✗
Jpn ✓
Lav ✓
Nor ✓
Pol ✓
Ron ✓
Snd ✗
Spa ✓
Swe ✓
Tha ✓
Urd ✓
Passed 18 | Failed 4 | Total 22
2021-03-05 16:48:05 +01:00
John J. Camilleri
0d4659fe8c
Add workaround for missing param defs. Add links to gf-core issues in workaround comments.
2021-03-05 13:23:00 +01:00
John J. Camilleri
70581c2d8c
Improve base case in table handling, cleanup. Add run-phrasebook script, current output:
...
Bul ✗
Cat ✗
Chi ✓
Dan ✓
Dut ✓
Eng ✓
Est ✓
Fin ✗
Fre ✗
Ger ✓
Hin ✓
Ita ✗
Jpn ✓
Lav ✓
Nor ✓
Pol ✓
Ron ✓
Snd ✗
Spa ✗
Swe ✓
Tha ✓
Urd ✓
Passed 15 | Failed 7 | Total 22
2021-03-04 17:09:35 +01:00
John J. Camilleri
bca1e2286d
New handling of tables, works for all tests but Phrasebook still fails
2021-03-04 16:42:56 +01:00
John J. Camilleri
f5886bf447
Add more complex param/table unit tests and pass them. Still fails on Phrasebook though.
2021-03-04 12:37:12 +01:00
John J. Camilleri
30b016032d
Also store Pre prefixes in token map. Introduce IntMapBuilder data structure.
...
Storing of prefixes uses show/read, which isn't a great solution but avoids having yet another token map.
2021-03-04 09:58:17 +01:00
John J. Camilleri
4082c006c3
Extract token strings and put them in map which linfuns refer to by index, to reduce LPGF sizes.
2021-03-04 00:16:12 +01:00