1
0
forked from GitHub/gf-core
Commit Graph

76 Commits

Author SHA1 Message Date
Krasimir Angelov
4c701e68e2 more general and simpler implementation for gluing 2023-12-16 12:29:13 +01:00
Krasimir Angelov
2631f0af8f partial implementation for type inference with records 2023-12-01 15:26:24 +01:00
Krasimir Angelov
5232364a9e typechecking without Value<->Term conversion 2023-11-28 21:21:34 +01:00
Krasimir Angelov
54e06b5371 refactoring 2023-11-28 10:25:27 +01:00
Krasimir Angelov
6b9bda3328 fully restore the parser 2023-11-28 07:39:54 +01:00
Krasimir Angelov
4f28d2b3a3 the evaluator and the typechecker now share the same monad 2023-11-24 09:40:28 +01:00
Krasimir Angelov
bd9bd8b32f the experimental typechecker is almost converted to the new evaluator 2023-11-24 08:35:11 +01:00
Krasimir Angelov
511fdeee44 the normalForm for terms now compresses variants 2023-11-23 19:35:18 +01:00
Krasimir Angelov
fcc80b545d started porting the experimental type checker to the new evaluator 2023-11-20 14:53:36 +01:00
Krasimir Angelov
a8630ddcd2 fix: [] + "ser" == "ser" 2023-04-06 11:36:21 +02:00
Krasimir Angelov
95b916339d yet another detail with (+) 2023-03-30 12:05:44 +02:00
Krasimir Angelov
22c45d8d34 fix how (+) interacts with special tokens 2023-03-30 11:55:47 +02:00
Krasimir Angelov
be951d9265 fix the compilation for parameters of type Ints n 2023-02-10 12:04:21 +01:00
Krasimir Angelov
9bedcb038e ellimate parameters with only one possible value 2023-02-08 16:38:05 +01:00
Krasimir Angelov
9214f2a074 fix compilation with older GHC versions 2022-11-10 19:19:19 +01:00
Krasimir Angelov
5b645ab42f normalForm should also sort the fields in a record type 2022-06-28 14:34:56 +02:00
Krasimir Angelov
a216c1aa6d ensure left-to-right pattern maching of records 2022-01-11 13:31:44 +01:00
krangelov
0a8b6d2586 make sure that types in ResValue are precomputed 2021-12-21 09:16:53 +01:00
krangelov
2be3fd7e78 eval pattern macroses 2021-12-20 15:03:15 +01:00
krangelov
f6789fdfbf refactor VC -> VC & VEmpty 2021-12-19 14:13:37 +01:00
krangelov
275f8f37ce handle pre when it is in the arguments of a Predef function 2021-12-19 10:43:06 +01:00
krangelov
b266c55f8a narrowing for table [...] 2021-12-17 17:26:23 +01:00
krangelov
2cb4fda502 more clean up 2021-12-17 10:05:20 +01:00
krangelov
2f79892463 clean up imports 2021-12-17 10:01:07 +01:00
krangelov
c8dcc10325 another fix for cc 2021-12-16 14:00:25 +01:00
krangelov
4ed287a809 bug fix and refactoring in the cc command 2021-12-16 13:14:29 +01:00
krangelov
e2b6774bd3 the elimination of empty tokens is moved to the typechecker 2021-12-14 15:59:13 +01:00
krangelov
f332a03c79 support Ints n as a parameter type 2021-12-14 15:27:03 +01:00
krangelov
51e337a910 prevent the compilation of empty tokens 2021-12-14 11:39:18 +01:00
krangelov
f7bf18d101 fix value2term for predefined functions 2021-12-13 09:44:28 +01:00
krangelov
ad4c5029a3 fix the implementation for Predef.tk & Predef.dp 2021-12-10 12:05:01 +01:00
krangelov
0069946f42 linearization for HOAS expressions 2021-12-09 08:45:53 +01:00
krangelov
d274f4856e compile lindef & linref rules 2021-12-06 15:47:57 +01:00
krangelov
655576c291 the variable labeling should start with 0. 2021-12-03 15:00:04 +01:00
krangelov
4a68ea93b3 generate and store the ranges for all linearization rules 2021-11-26 14:05:03 +01:00
krangelov
38d189f8ef bugfix for predefined operations 2021-10-21 08:55:22 +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
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
557cdb82a7 strings computed from a predefined operation should be tokenized 2021-10-05 11:50:59 +02:00