krangelov
1413c273cc
API for adding concrete syntaxes. Garbage collection to be fixed!
2021-10-21 19:18:14 +02:00
krangelov
259ed52a77
fix the compilation of pre
2021-10-21 10:10:04 +02:00
krangelov
38d189f8ef
bugfix for predefined operations
2021-10-21 08:55:22 +02:00
krangelov
64ccd82958
make record extension more compact after typechecking
2021-10-20 19:57:42 +02:00
krangelov
b6047463a9
we can finally compile the English RGL
2021-10-20 19:39:02 +02:00
krangelov
5ee960ed7c
fix the evaluation for Prod
2021-10-14 10:24:20 +02:00
krangelov
27f0ff14a3
VT should preserve its environment
2021-10-13 19:43:01 +02:00
krangelov
c3eb6973f4
working PMCFG generation
2021-10-13 19:14:56 +02:00
krangelov
8c721e063c
partial support for runtime parameters
2021-10-12 12:06:59 +02:00
krangelov
62d5ed5b42
small progress on PMCFG
2021-10-08 19:25:21 +02:00
krangelov
15e3ca9acd
use prependModule to make the current module available
2021-10-08 11:56:28 +02:00
krangelov
98f42051b1
first steps towards PMCFG generation
2021-10-08 11:53:07 +02:00
krangelov
e33d881ce8
finished the partial evaluator
2021-10-07 11:47:51 +02:00
krangelov
fd6cd382c5
added VGlue to cover the case where we can't precompute the glue
2021-10-05 19:39:24 +02:00
krangelov
2a2d7269cf
remove the Term(Error) constructor. Better propagation of errors.
2021-10-05 19:31:12 +02:00
krangelov
dc59d9f3f9
trivial implementation for EPatt & EPattType
2021-10-05 15:45:16 +02:00
krangelov
3c4e7dd20c
partial evaluation for (+)
2021-10-05 15:37:42 +02:00
krangelov
93c2f47752
missed VStr -> string2value
2021-10-05 13:38:00 +02:00
krangelov
51954c60ea
fix the printer for strings with escape characters
2021-10-05 13:36:54 +02:00
krangelov
557cdb82a7
strings computed from a predefined operation should be tokenized
2021-10-05 11:50:59 +02:00
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
22f62be511
added PGF(pIdent,pExpr)
2021-09-14 09:34:00 +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
0954b4cbab
More cabal file cleanup. Remove some more tabs from Haskell source.
2021-07-07 13:04:09 +02:00
John J. Camilleri
f2e52d6f2c
Replace tabs for whitespace in source code
2021-07-07 09:40:41 +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