1
1
mirror of https://github.com/github/semantic.git synced 2024-12-26 16:33:03 +03:00
Commit Graph

11632 Commits

Author SHA1 Message Date
Rob Rix
0087c5a1d1 Define a typeclass for lifting effects into some wrapping context. 2018-03-07 11:04:53 -05:00
Rob Rix
86fb1a8706 Parameterize TracingAnalysis by the list of effects. 2018-03-07 10:53:19 -05:00
Rob Rix
3780ffa628 Disable TypeFamilies. 2018-03-07 10:52:40 -05:00
Rob Rix
41103a52fe Rearrange the parameters to Evaluator. 2018-03-07 10:43:05 -05:00
Rob Rix
29866143b7 🔥 the root set effect. 2018-03-07 10:39:48 -05:00
Rob Rix
7520910147 📝 the CachingEffects. 2018-03-07 10:39:24 -05:00
Rob Rix
158c9251fb 🔥 EvaluationEffects. 2018-03-07 10:36:18 -05:00
Rob Rix
54033f5926 Copy the comments for the evaluator effects. 2018-03-07 10:35:25 -05:00
Rob Rix
a2f3c0c6df Define CachingEffects in terms of EvaluatorEffects. 2018-03-07 10:33:54 -05:00
Rob Rix
f534844342 Define DeadCodeEffects in terms of EvaluatorEffects. 2018-03-07 10:28:23 -05:00
Rob Rix
ad234eb56b Define TracingEffects in terms of EvaluatorEffects. 2018-03-07 10:27:31 -05:00
Rob Rix
743c17e74c Extract an EvaluatorEffects synonym. 2018-03-07 10:24:07 -05:00
Rob Rix
0cc7ece380 📝 Tracer. 2018-03-07 10:21:40 -05:00
Rob Rix
83228ce526 Use the Tracer effect synonym in TracingEffects. 2018-03-07 10:21:02 -05:00
Rob Rix
762ab7f31d Define a Tracer effect synonym. 2018-03-07 10:20:50 -05:00
Rob Rix
a3e500ca14 Define a Bitraversable instance for Subterm. 2018-03-07 10:18:37 -05:00
Rob Rix
26b34baf5e Define a Bifoldable instance for Subterm. 2018-03-07 10:18:01 -05:00
Rob Rix
bd608f713c Derive Foldable, Functor, & Traversable instances for Subterm. 2018-03-07 10:17:24 -05:00
Rob Rix
1072ab151b Define a Bifunctor instance for Subterm. 2018-03-07 10:16:59 -05:00
Rob Rix
352fc2ff07 🔥 redundant constraints on evaluateTerm. 2018-03-07 09:14:38 -05:00
Rob Rix
89b0890336 Reformat TracingAnalysis onto a new line. 2018-03-07 09:09:13 -05:00
Rob Rix
758f1032c1 🔥 a redundant import. 2018-03-07 09:07:42 -05:00
Rob Rix
62a0548573 Re-export Subterm/SubtermAlgebra. 2018-03-07 09:07:37 -05:00
Rob Rix
beca16b30b 🔥 a bunch of redundant imports. 2018-03-07 09:05:53 -05:00
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
Patrick Thomson
b12caf004d Further fixes for Haddock syntax. 2018-03-05 16:40:34 -05:00
Rob Rix
9ddf2a376f Merge branch 'master' into if-evaluation 2018-03-05 09:47:37 -05:00