Rob Rix
1a91e91a31
Inline evaluatingModulesWith into evaluatePackageBodyWith.
2018-05-06 10:09:25 -04:00
Rob Rix
157a7a35f5
Inline handleEvalClosures into evalTerm.
2018-05-06 10:06:44 -04:00
Rob Rix
f8e1d03f66
Clean up the type of evaluatingModulesWith using equality constraints.
2018-05-06 09:58:14 -04:00
Rob Rix
7344a1b67c
Handle closure/module effects in the same place.
2018-05-06 09:55:06 -04:00
Rob Rix
4529ee89e9
Don’t require callers to provide the module & term explicitly.
2018-05-06 09:13:46 -04:00
Rob Rix
4cfa690059
Provide per-module and -term handlers.
2018-05-04 19:48:45 -04:00
Rob Rix
ceb4c40646
Correct the Value type.
2018-05-04 19:46:03 -04:00
Rob Rix
b7858fe4cc
Specialize importGraphAnalysis to Located & Value.
2018-05-04 19:44:59 -04:00
Rob Rix
314f1dfd5c
Derive a Lower instance for Latest.
2018-05-04 19:44:33 -04:00
Rob Rix
8e73d99889
Give a type for importGraphAnalysis.
2018-05-04 19:41:10 -04:00
Rob Rix
d31dce7490
Provide empty cells with a Lower constraint.
2018-05-04 19:40:53 -04:00
Rob Rix
1e173c4f2c
Use ScopedTypeVariables to allow type applications against erroring.
2018-05-04 19:38:14 -04:00
Rob Rix
f83b002e78
Export EvaluatingEffects.
2018-05-04 19:38:01 -04:00
Rob Rix
dab97a9298
analyze takes an explicit interpreter parameter.
2018-05-04 19:27:52 -04:00
Rob Rix
b5485e8ab8
Rephrase Caching as cachingTerms, convergingModules, and caching handlers.
2018-05-04 19:24:07 -04:00
Rob Rix
a3c04da9fe
Clean up the Tracing module.
2018-05-04 19:13:23 -04:00
Rob Rix
cdb8f26de4
Rephrase Tracing as tracingTerms & tracing handlers.
2018-05-04 19:12:51 -04:00
Rob Rix
04fb5d36b1
Fix up some language extensions &c.
2018-05-04 19:10:01 -04:00
Rob Rix
4c83723fbe
Correct the name of the location type parameter.
2018-05-04 19:06:04 -04:00
Rob Rix
88ec9d7230
Rephrase Dead as revivingTerms, killingModules, and providingDeadSet handlers.
2018-05-04 19:01:01 -04:00
Rob Rix
cdb7169ecb
Derive a Lower instance for Dead.
2018-05-04 18:55:21 -04:00
Rob Rix
7d97d97cc4
Rephrase Collecting & Retaining as collectingTerms & providingLiveSet handlers.
2018-05-04 18:50:48 -04:00
Rob Rix
9af39cad2f
Rephrase TypeChecking as a simple handler.
2018-05-04 18:43:45 -04:00
Rob Rix
fd85d202db
Deal with the fallout in Evaluatable.
2018-05-04 18:42:06 -04:00
Rob Rix
115c21074b
Rephrase ImportGraphAnalysis as a composed handler.
2018-05-04 18:41:46 -04:00
Rob Rix
97775268e6
Fix up some imports.
2018-05-04 18:41:23 -04:00
Rob Rix
57bfb04409
Deal with the fallout in Located.
2018-05-04 18:41:10 -04:00
Rob Rix
488ef67c26
Deal with the fallout of Evaluator changes in Value.
2018-05-04 18:40:59 -04:00
Rob Rix
af7d178183
Deal with the fallout of Evaluator changes in Addressable.
2018-05-04 18:40:44 -04:00
Rob Rix
9cd92dd310
Rephrase ImportGraphing as graphingTerms, graphingModules, and importGraphing handlers.
2018-05-04 18:40:22 -04:00
Rob Rix
8a8bfc05a3
Rephrase BadVariables as a resumingBadVariables handler.
2018-05-04 18:40:07 -04:00
Rob Rix
b5c2cd6282
Rephrase BadValues as a resumingBadValues handler.
2018-05-04 18:39:54 -04:00
Rob Rix
fefe5bf671
Rephrase BadSyntax as a resumingBadSyntax handler.
2018-05-04 18:39:41 -04:00
Rob Rix
3fba25f491
Rephrase BadModuleResolutions as a resumingBadModuleResolutions handler.
2018-05-04 18:39:30 -04:00
Rob Rix
c16263ee28
Rephrase BadAddresses as a resumingBadAddresses handler.
2018-05-04 18:39:14 -04:00
Rob Rix
c7462b2de3
Rephrase Evaluating as providingCurrentTerm, providingCurrentModule, and evaluating handlers.
2018-05-04 18:38:59 -04:00
Rob Rix
6707b51627
Evaluator is a newtype.
2018-05-04 18:38:24 -04:00
Rob Rix
6972847818
Rephrase erroring as a simple handler.
2018-05-04 18:37:56 -04:00
Rob Rix
93895186cf
Imagine there’s no MonadAnalysis.
...
It’s easy if you try.
2018-05-04 18:37:37 -04:00
Rob Rix
bc7b639b11
Add a helper lifting handlers over subterm algebras.
2018-05-04 16:18:44 -04:00
Patrick Thomson
926e81b8a0
Fix benchmarks.
...
The interface in Semantic.Util had changed.
Also removes the old `evalRubyFile` and `evalPythonFile` functions,
since they did not typecheck in ghci and do nothing that the project
equivalents don't.
2018-05-04 13:49:37 -04:00
Rob Rix
40af10cf39
Dedent some comments.
2018-05-04 12:31:06 -04:00
Rob Rix
0a6decad08
Make BadAddresses consistent with the other analyses.
2018-05-04 11:55:33 -04:00
Rob Rix
b55e7aa2c2
Make BadValues consistent with the other analyses.
2018-05-04 11:54:51 -04:00
Rob Rix
0d9002b6d7
Make BadModuleResolutions consistent with the other analyses.
2018-05-04 11:54:32 -04:00
Rob Rix
2e468c5836
Re-export a bunch of effects from Evaluator.
2018-05-04 11:23:35 -04:00
Rob Rix
4108302aed
Split MonadAnalysis into AnalyzeModule & AnalyzeTerm classes.
2018-05-04 11:19:36 -04:00
Rob Rix
da833e9ac7
Constrain evaluateModule.
2018-05-04 11:16:43 -04:00
Rob Rix
e155f74e20
Put a few constraints back in MonadEvaluatable.
2018-05-04 11:16:02 -04:00
Rob Rix
4050d96628
Eta-reduce handleReturn.
2018-05-03 15:30:19 -04:00