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