Rob Rix
25e5af382e
Define dead code analysis using analyzeTerm.
2018-03-06 16:40:15 -05:00
Rob Rix
2ab50cda5e
Evaluation analyzes via eval.
2018-03-06 16:39:37 -05:00
Rob Rix
c68728ea06
Define an analyzeTerm method on MonadAnalysis.
2018-03-06 16:36:06 -05:00
Patrick Thomson
c3d01b6602
Resuscitate the caching evaluator.
...
The caching analysis had been disabled, as it was still written in the
open-interpreter style. This patch restores it, defining a
`CachingAnalysis` newtype that uses nondeterministic but convergent
caching in its `MonadAnalysis` instance. This also defines an
`embedSubterm` helper that is useful in defining new analysis passes.
Thanks to @robrix for 🍐 !
2018-03-06 13:51:00 -05:00
Josh Vera
7e22cf8f69
Merge pull request #1522 from github/haddock-fixes-mk2
...
Further fixes for Haddock syntax.
2018-03-05 16:59:29 -05:00
Patrick Thomson
b12caf004d
Further fixes for Haddock syntax.
2018-03-05 16:40:34 -05:00
Patrick Thomson
1549cbf00a
Merge pull request #1519 from github/if-evaluation
...
Support ifthenelse evaluation
2018-03-05 14:37:45 -05:00
Rob Rix
9ddf2a376f
Merge branch 'master' into if-evaluation
2018-03-05 09:47:37 -05:00
Rob Rix
ffa0a972ff
Merge pull request #1515 from github/evaluatable-simplification
...
Evaluatable simplification
2018-03-05 09:47:06 -05:00
Rob Rix
3ff77c9a9e
Merge branch 'master' into evaluatable-simplification
2018-03-05 09:41:14 -05:00
Patrick Thomson
70f30ab254
Merge pull request #1518 from github/graph-filename-module
...
Include module names in import-graph SymbolDeclarations.
2018-03-02 15:42:20 -08:00
Patrick Thomson
d4c39f075b
remove otiose comment
2018-03-02 15:35:37 -08:00
Patrick Thomson
1da2668d60
Fix end-to-end tests.
2018-03-02 15:30:51 -08:00
Patrick Thomson
226ff88723
Rename MonadFunction to MonadValue.
2018-03-02 11:45:56 -08:00
Patrick Thomson
cc487a3872
Evaluatable instance for If and NoOp.
2018-03-02 11:32:25 -08:00
Patrick Thomson
e165812969
Include module names in SymbolDeclarations.
2018-03-02 10:03:54 -08:00
Rob Rix
be4bf5b1f7
📝 withModules.
2018-03-02 12:27:40 -05:00
Rob Rix
529becae3f
Use withModules to define evaluates.
2018-03-02 12:26:46 -05:00
Rob Rix
111e31e4da
Define a withModules helper.
2018-03-02 12:26:26 -05:00
Rob Rix
c972fbd958
Extract the module table into its own binding.
2018-03-02 12:23:28 -05:00
Rob Rix
60be5d2f1a
📝 evaluateTerm.
2018-03-02 12:13:01 -05:00
Rob Rix
ecbfd71a1c
Reformat evaluateTerm.
2018-03-02 12:11:28 -05:00
Rob Rix
ed4c2a9361
📝 Evaluation.
2018-03-02 10:58:29 -05:00
Rob Rix
91cfe37bc7
🔥 the Analysis.Abstract.TypeInference module.
2018-03-02 10:56:04 -05:00
Rob Rix
ce294d9181
📝 Evaluator.
2018-03-02 10:41:36 -05:00
Rob Rix
62189a026e
Derive the various instances for Evaluator.
2018-03-02 10:41:31 -05:00
Rob Rix
e44db3982e
📝 the MonadEvaluator methods.
2018-03-02 10:36:05 -05:00
Rob Rix
293df42d58
📝 MonadEvaluator.
2018-03-02 10:32:50 -05:00
Rob Rix
bf5ea51747
📝 abstract & apply.
2018-03-02 10:30:21 -05:00
Rob Rix
0071b25ba7
📝 MonadFunction.
2018-03-02 10:28:29 -05:00
Rob Rix
59afa36269
📝 MonadAnalysis.
2018-03-02 10:21:10 -05:00
Rob Rix
57eb8648ba
🔥 the term parameter from Type.
2018-03-02 10:17:38 -05:00
Rob Rix
9740758d01
Stub in a module for a type inference analysis.
2018-03-02 10:15:18 -05:00
Rob Rix
479f6d2992
📝 DeadCodeAnalysis.
2018-03-02 10:14:23 -05:00
Rob Rix
dcc0d5e607
Rename Evaluating to EvaluationEffects.
2018-03-02 10:12:38 -05:00
Rob Rix
79e94ab7ee
Rename DeadCodeEvaluating to DeadCodeEffects.
2018-03-02 10:12:03 -05:00
Rob Rix
cadd1463e5
Rename DeadCodeEvaluation to DeadCodeAnalysis.
2018-03-02 10:10:57 -05:00
Rob Rix
928e3e4421
📝 evaluateDead.
2018-03-02 10:10:02 -05:00
Rob Rix
a76027926d
Include the root term.
2018-03-01 17:20:59 -05:00
Rob Rix
f9797594e6
Derive Eq, Ord, & Show instances for Subterm.
2018-03-01 17:11:22 -05:00
Rob Rix
5f35fb6397
Don’t list the Data.Abstract.Value exports explicitly.
2018-03-01 16:57:47 -05:00
Rob Rix
5199bebf39
Merge branch 'master' into evaluatable-simplification
2018-03-01 16:55:18 -05:00
Rob Rix
64aaf40b2f
Punt on evaluating Program nodes.
...
@tclem’s work in #1517 is revising all of this so this will do for now.
2018-03-01 16:54:04 -05:00
Rob Rix
e20339bfdd
🔥 a TODO.
2018-03-01 16:35:40 -05:00
Rob Rix
a8d16aa05a
Rejigger the imports a little.
2018-03-01 16:33:45 -05:00
Rob Rix
73a5bcec3d
Simplify import evaluation.
2018-03-01 16:31:48 -05:00
Rob Rix
dcc332a75b
Move require/load into Data.Abstract.Evaluatable.
2018-03-01 16:30:26 -05:00
Rob Rix
106819c39e
Simplify the derived MonadEvaluator instance for Evaluation.
2018-03-01 16:11:56 -05:00
Rob Rix
e1b1ceb11c
Reformat some signatures.
2018-03-01 16:11:04 -05:00
Rob Rix
8234ce9e63
🔥 some redundant constraints.
2018-03-01 16:10:02 -05:00