Rob Rix
|
3ab781ea48
|
🔥 all the constraining functions since we can use type applications instead.
|
2018-05-15 13:51:07 -04:00 |
|
Rob Rix
|
6ba840e90b
|
Go back to simple address types.
|
2018-05-11 08:35:43 -04:00 |
|
Rob Rix
|
67892e9cf1
|
Define Precise as a GADT indexed by its cell type.
|
2018-05-10 19:27:20 -04:00 |
|
Rob Rix
|
91ca0e1aba
|
Run Gotos via a newtype to break the cycle in the effects types.
|
2018-05-09 21:30:34 -04:00 |
|
Rob Rix
|
3cbf66c57e
|
🔥 TermEffects.
|
2018-05-09 12:39:22 -04:00 |
|
Rob Rix
|
f18d066c88
|
🔥 the Term newtype.
|
2018-05-09 12:36:48 -04:00 |
|
Rob Rix
|
d02fdb419a
|
Only export spec.
|
2018-05-09 12:36:40 -04:00 |
|
Rob Rix
|
4dca1c121e
|
🔥 the term parameter to Evaluator.
|
2018-05-09 12:35:01 -04:00 |
|
Rob Rix
|
3948f74810
|
Correct the type of the module table effect.
|
2018-05-08 16:46:17 -04:00 |
|
Rob Rix
|
2aae3dbdd3
|
Allow runGoto to return its jump table.
|
2018-05-08 11:10:35 -04:00 |
|
Rob Rix
|
97915e1410
|
Rename lambda to closure.
|
2018-05-08 10:54:32 -04:00 |
|
Rob Rix
|
d9084f9f45
|
lambda takes the set of free variables as a parameter.
|
2018-05-08 10:54:04 -04:00 |
|
Rob Rix
|
5a4e6cb0b0
|
Merge branch 'evaluator-dsl' into evaluate-closures-without-terms
|
2018-05-08 10:40:41 -04:00 |
|
Rob Rix
|
8881dc0284
|
Fix an ambiguous reference to runM.
|
2018-05-08 10:40:25 -04:00 |
|
Rob Rix
|
eacb5b47d7
|
Implement goto using Goto effects embedding evaluators.
|
2018-05-08 10:19:50 -04:00 |
|
Rob Rix
|
2b2a6f0cd8
|
Specialize ValueError to Value.
|
2018-05-08 09:05:43 -04:00 |
|
Rob Rix
|
b66ea73427
|
Reassociate errors in the specs.
|
2018-05-07 16:56:40 -04:00 |
|
Rob Rix
|
d9e76fb2c5
|
Test that we can call functions.
|
2018-05-07 16:06:21 -04:00 |
|
Rob Rix
|
c05884195d
|
Add environment errors to the mix.
|
2018-05-07 16:06:04 -04:00 |
|
Rob Rix
|
de1a8e1164
|
Clean up a redundant pure.
|
2018-05-07 16:05:55 -04:00 |
|
Rob Rix
|
b589d4f7d0
|
Define a FreeVariables instance for Term.
|
2018-05-07 16:05:27 -04:00 |
|
Rob Rix
|
ca778fd76e
|
We don’t need to constrain the term type any more.
|
2018-05-07 15:25:05 -04:00 |
|
Rob Rix
|
28eec7a7ec
|
Lift TermEvaluators to Subterm evaluators.
|
2018-05-07 15:19:57 -04:00 |
|
Rob Rix
|
a4e823681f
|
Define a TermEvaluator synonym.
|
2018-05-07 15:19:36 -04:00 |
|
Rob Rix
|
3b4b953506
|
Run evaluators in IO.
|
2018-05-07 15:13:01 -04:00 |
|
Rob Rix
|
1bd817bc76
|
Test that we can construct integers.
|
2018-05-07 15:10:41 -04:00 |
|
Rob Rix
|
980fd74aed
|
Define an evaluator helper.
|
2018-05-07 15:10:11 -04:00 |
|
Rob Rix
|
47d48d695e
|
Add types for terms, values, and the effects for evaluating terms.
|
2018-05-07 15:09:50 -04:00 |
|
Rob Rix
|
c427be3670
|
Stub in a spec for Evaluator.
|
2018-05-07 14:21:05 -04:00 |
|