1
0
forked from GitHub/gf-core
Commit Graph

415 Commits

Author SHA1 Message Date
krangelov
26be741dea most primitives in Predef.gf are now implemented 2021-10-05 11:31:39 +02:00
krangelov
0229329d7c implemented pattern macros 2021-09-29 17:38:53 +02:00
krangelov
6efb878c43 pattern matching for "x"* 2021-09-29 14:57:18 +02:00
krangelov
edd7081dea implement measured patterns 2021-09-29 13:26:06 +02:00
krangelov
2137324f81 safe pattern matching in the presence of a variable 2021-09-29 09:32:09 +02:00
krangelov
86326d282f pattern matching on strings 2021-09-29 09:18:52 +02:00
krangelov
fee186feca fix table selection with meta variables and lambda variables 2021-09-28 13:49:35 +02:00
krangelov
28dd0eda22 evaluation for Prod 2021-09-28 11:47:31 +02:00
krangelov
f82f19ba68 better error handling 2021-09-24 19:54:29 +02:00
krangelov
f83ea160da more patterns in the partial evaluator 2021-09-24 19:14:48 +02:00
krangelov
c5b6432016 implemented tables and parameters 2021-09-24 17:20:25 +02:00
krangelov
ac304ccd7c more low-handing fruits in the partial evaluator 2021-09-24 15:14:52 +02:00
krangelov
3dc2af61a6 done with partial evaluation for records and variants 2021-09-24 15:00:34 +02:00
krangelov
a2102b43bd got started with the new partial evaluation 2021-09-22 18:17:50 +02:00
krangelov
348c348e14 the compiler can now boot and load an .ngf file 2021-09-17 13:15:58 +02:00
krangelov
b408650125 createFunction now takes arity as argument 2021-09-16 11:04:45 +02:00
krangelov
fc268a16df We can now compile abstract grammars 2021-09-16 10:59:48 +02:00
krangelov
cf7673525f the compiler now compiles with the new runtime 2021-09-13 18:32:57 +02:00
krangelov
155657709a Merge branch 'master' into c-runtime 2021-07-30 11:20:04 +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
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
cdbe73eb47 Remove two missing-methods warnings 2021-07-08 12:10:41 +02:00
John J. Camilleri
f2e52d6f2c Replace tabs for whitespace in source code 2021-07-07 09:40:41 +02:00
Inari Listenmaa
d2fb755fab Merge branch 'master' into concrete-new 2021-07-06 09:37:22 +02:00
Inari Listenmaa
4e8859aa75 Merge pull request #118 from GrammaticalFramework/canonical
Fixes to canonical compilation
2021-07-06 09:16:52 +02: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
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
Inari Listenmaa
1a466c14c8 Don't print out the error msg for pattern matching unnecessarily 2021-01-20 01:15:28 +08:00
Liyana
9b02385e3e Removed fromValue for boolV 2020-11-10 17:26:56 +08:00
Liyana
8ca4baf470 Deleted redundant pattern match 2020-11-10 17:15:20 +08:00
Liyana
1f7584bf98 Added explicit implementation for 'fromValue' in instance declaration for 'Predef Bool' 2020-11-10 17:14:31 +08:00
Andreas Källberg
56f94da772 Merge remote-tracking branch 'origin/master' into fix-newer-cabal 2020-09-05 21:11:12 +02:00
Andreas Källberg
7268253f5a MonadFail: Make backwards-compatible 2020-09-05 20:23:07 +02:00
Andreas Källberg
0581d6827e Fix most build errors 2020-08-05 18:48:24 +02:00
Andreas Källberg
b8812b54b2 fix newer ghc: Don't try to be backwards compatible 2020-08-05 18:48:24 +02:00
Andreas Källberg
251845f83e First attempt at fixing incompabilities with newer cabal 2020-08-05 18:48:24 +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