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 |
|