Rob Rix
99e377aec7
Fix a missed reference to Deref in the specs.
2018-08-13 09:58:18 -04:00
Rob Rix
a438930c91
Use the specialized handlers for Allocator and Precise.
2018-08-13 09:43:37 -04:00
Rob Rix
f0d216da2c
🔥 the value parameter from Allocator.
2018-08-10 15:32:10 -04:00
Rob Rix
d05f3c6ae3
🔥 Data.Abstract.Address.
2018-08-10 13:46:24 -04:00
Rob Rix
6de89a8351
Merge branch 'master' into entry-points
2018-08-10 11:28:00 -04:00
Rob Rix
b19ea1ca01
Fix up the Evaluator spec.
2018-08-09 16:13:03 -04:00
Josh Vera
44ac28510c
Merge branch 'master' into entry-points
2018-08-08 16:17:08 -04:00
joshvera
77213d72e4
Fix function call
2018-08-08 14:25:19 -04:00
Rick Winfrey
317d4a3849
Merge branch 'master' into error-context
2018-08-08 10:33:41 -07:00
Rick Winfrey
383b6208ee
Rename ErrorContext -> BaseError
2018-08-07 16:50:55 -07:00
Rick Winfrey
7a06b8c922
Fix up tests
2018-08-06 09:29:24 -07:00
Charlie Somerville
d00fced1bb
Merge branch 'master' into charliesome/context
2018-08-01 11:45:46 +10:00
Rob Rix
60a4487a28
Run a Function effect in EvaluatorSpec.
2018-07-26 15:31:49 -04:00
Rob Rix
863c2774eb
Merge branch 'master' into value-effects
2018-07-25 09:22:30 -04:00
Charlie Somerville
ee227d8091
fix up call in test
2018-07-24 16:23:53 +10:00
Rob Rix
33c6bc88f4
Correct the test.
2018-07-23 10:26:26 -04:00
Rob Rix
861a3fc80e
Rename closure to function.
2018-07-23 10:26:06 -04:00
Charlie Somerville
de80f1906e
fix SpecHelpers to hit heap for namespaces
2018-07-19 17:03:17 +10:00
Rob Rix
bcbc70446c
Merge branch 'charliesome/substitution' into abstract-abstract-semantics
2018-07-05 14:15:01 -04:00
Rob Rix
5100670e72
Rename Data.Abstract.Value to Data.Abstract.Value.Concrete.
2018-07-03 14:22:26 -04:00
Rob Rix
a236328056
Merge branch 'master' into higher-order-effects
2018-06-26 15:14:28 -04:00
Rob Rix
7d37d3eb11
Resume defining LoopControl as using Exc.
2018-06-26 12:09:21 -04:00
Rob Rix
492947ae2e
Resume defining Return as using Exc.
2018-06-26 12:00:25 -04:00
Rob Rix
33c04b15c3
Get the tests compiling.
2018-06-22 13:52:21 -04:00
Rob Rix
12c5dc32b2
🔥 an errant package version.
2018-06-22 10:38:03 -04:00
Rob Rix
07a0277b00
Fix up the Evaluator spec.
2018-06-21 13:42:03 -04:00
Rob Rix
84eb2beaa5
This doesn’t have module table state any more either.
2018-06-21 13:37:23 -04:00
Rob Rix
e0f5d4ee22
Don’t use evaluating.
2018-06-21 13:22:58 -04:00
Rob Rix
e972abd2e3
Factor runFresh out of evaluating.
2018-06-20 12:17:46 -04:00
Rob Rix
792cdcc5e2
Re-export Lower from SpecHelpers.
2018-06-15 11:41:38 -04:00
Rob Rix
31893e6ced
Bump effects for https://github.com/joshvera/effects/pull/54 .
...
This requires us to specify the lists of effects fully.
2018-06-13 16:35:56 -04:00
Charlie Somerville
ddb18160f7
Merge branch 'master' into charliesome/value-ref-address
2018-06-08 11:33:01 +10:00
Rob Rix
b6c8c3f236
Fix up the evaluator spec.
2018-06-06 09:46:12 -04:00
Rob Rix
d6d3008cba
deref operates on the address, so drop the env.
2018-06-01 17:28:35 -04:00
Rob Rix
d8201341c9
We’re already destructuring the tuples.
2018-06-01 17:28:19 -04:00
Charlie Somerville
32268b1710
Merge branch 'master' into charliesome/value-ref-address
2018-05-31 20:34:05 -05:00
Rob Rix
08cf65718f
Fix the evaluator spec.
2018-05-30 17:20:08 -04:00
Rob Rix
f9c7f2836d
runEnv in the evaluator spec.
2018-05-30 13:03:50 -04:00
Charlie Somerville
b72b442e0c
WIP Merge branch 'master' into charliesome/value-ref-address
2018-05-29 16:06:45 -05:00
Rob Rix
f0c220906a
Partially apply Eff in the tests.
2018-05-28 14:48:00 -04:00
Rob Rix
cc02cfd8eb
AbstractIntro is pure.
2018-05-28 14:47:42 -04:00
Rob Rix
89b90496b7
Don’t qualify this name.
2018-05-28 14:47:20 -04:00
Rob Rix
b3b47a34df
🔥 Goto.
2018-05-28 14:42:46 -04:00
Rob Rix
a01e723b31
Run ValueErrors in TermEvaluator.
2018-05-28 09:55:01 -04:00
Rob Rix
015b74cf41
Give Value a term type parameter once more.
2018-05-28 09:35:42 -04:00
Rob Rix
2993c3588c
Correct the specs.
2018-05-28 08:54:33 -04:00
Charlie Somerville
71e389ef71
fix tests
2018-05-23 15:38:47 -07:00
Charlie Somerville
10022d4de9
push Address location value into the guts of the evaluator
2018-05-23 14:55:44 -07:00
Rob Rix
ca6b32378e
Merge branch 'master' into allocator-effect
2018-05-18 11:09:20 -04:00
Josh Vera
053a158e59
Merge branch 'master' into update-fastsum
2018-05-18 10:44:08 -04:00
Rob Rix
6f3698122c
Merge branch 'master' into allocator-effect
2018-05-17 16:47:24 -04:00
Patrick Thomson
322f348103
inj -> inject
2018-05-16 18:25:02 -04:00
Patrick Thomson
6b0198cb00
Remove otiose -Sum prefixes from all Data.Sum operations.
...
There are no modules where we use both Union.inj and Sum.injectSum; as
such, it seems clumsy for such ubiquitous functions as inj and prj to
have such long names when there is no ambiguity. This restores the
codebase to much how it looked before we switched back to a richer
Data.Union.
2018-05-16 15:27:08 -04:00
Timothy Clem
a60ed7bc16
Merge remote-tracking branch 'origin/master' into package-dot-json-parsing
2018-05-16 12:07:13 -07:00
Rob Rix
6ee5cabdf8
Run allocator effects in the evaluator spec.
2018-05-16 13:43:14 -04:00
Timothy Clem
aa9eb68045
Fully construct PackageInfo here
2018-05-16 10:34:17 -07:00
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