Rob Rix
85cea81d5c
Re-export a bunch of effect-related modules.
2018-03-07 09:03:51 -05:00
Rob Rix
fa6062fa9c
List the Control.Abstract.Analysis exports explicitly.
2018-03-07 09:02:51 -05:00
Rob Rix
b2f9b1f644
Align the effect comments.
2018-03-06 17:38:47 -05:00
Rob Rix
9563c4c309
📝 how to recover the linear/reachable state analyses.
2018-03-06 17:32:30 -05:00
Rob Rix
f78d8c717f
🔥 evaluateReach.
2018-03-06 17:31:15 -05:00
Rob Rix
927c3fe608
Generalize evaluateTrace to arbitrary trace types.
2018-03-06 17:31:01 -05:00
Rob Rix
3579304444
Sort the contexts of evaluateTrace and evaluateReach.
2018-03-06 17:29:32 -05:00
Rob Rix
833e6af0f5
Rename v to value.
2018-03-06 17:28:20 -05:00
Rob Rix
95510010ba
🔥 the commented-out evTell.
2018-03-06 17:27:06 -05:00
Rob Rix
68b7ffc612
Define analyzeTerm using getConfiguration.
2018-03-06 17:26:45 -05:00
Rob Rix
8be2e14849
Define getConfiguration in terms of askRoots.
2018-03-06 17:25:22 -05:00
Rob Rix
f6cd19ddb9
Add askRoots to the MonadEvaluator interface with a default definition.
2018-03-06 17:24:14 -05:00
Rob Rix
6650e4de4e
Define getConfiguration as a method on MonadEvaluator.
2018-03-06 17:21:46 -05:00
Rob Rix
4e9f13a035
Use the embedSubterm helper.
2018-03-06 17:18:00 -05:00
Rob Rix
ee911a0990
🔥 MonadTrace.
2018-03-06 17:14:52 -05:00
Rob Rix
c9a74da233
Re-enable the tracing analysis.
2018-03-06 17:13:58 -05:00
Rob Rix
ca32bdc551
Define 'analyzeTerm' for 'CachingAnalysis'.
2018-03-06 16:46:38 -05:00
Rob Rix
76c69dce45
📝 analyzeTerm.
2018-03-06 16:43:23 -05:00
Rob Rix
e0e1dc2e67
Reformat/expand the 📝 for evaluateTerm.
2018-03-06 16:43:15 -05:00
Rob Rix
b0b93c7147
Move the 📝 for evaluateTerm down.
2018-03-06 16:40:49 -05:00
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