1
1
mirror of https://github.com/github/semantic.git synced 2024-12-27 00:44:57 +03:00
Commit Graph

2775 Commits

Author SHA1 Message Date
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
758f1032c1 🔥 a redundant import. 2018-03-07 09:07:42 -05:00
Rob Rix
beca16b30b 🔥 a bunch of redundant imports. 2018-03-07 09:05:53 -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
d4c39f075b remove otiose comment 2018-03-02 15:35:37 -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
Rob Rix
57eb8648ba 🔥 the term parameter from Type. 2018-03-02 10:17:38 -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
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
244e1c2ad7 🔥 the orphan MonadAnalysis instance. 2018-03-01 16:07:28 -05:00
Rob Rix
9638c64024 eval definitions have MonadAnalysis available. 2018-03-01 15:14:15 -05:00
Rob Rix
db751ae06b Re-export the Control.Abstract.Function module. 2018-03-01 15:13:13 -05:00
Rob Rix
5c26fb3091 Move MonadFunction into its own module. 2018-03-01 15:12:40 -05:00
Rob Rix
74277a8ea8 🔥 a FIXME. 2018-03-01 15:09:36 -05:00
Rob Rix
c2a60138c6 Re-export MonadAnalysis. 2018-03-01 15:07:54 -05:00
Rob Rix
3b3e6ef5a0 Move the constraints into the instances. 2018-03-01 15:06:01 -05:00
Rob Rix
f34a15d7c7 Move the MonadAnalysis typeclass into Control.Abstract.Analysis. 2018-03-01 15:03:23 -05:00
Rob Rix
8f446cbd60 Break the dependency of MonadAnalysis on MonadFunction. 2018-03-01 15:00:26 -05:00
Rob Rix
3e89b76015 Use MonadAnalysis to evaluate closure bodies. 2018-03-01 14:56:43 -05:00
Rob Rix
452fe44952 Define a MonadAnalysis interface. 2018-03-01 14:56:31 -05:00
Rob Rix
4c5ca748d8 Align the signature of eval. 2018-03-01 14:53:12 -05:00
Rob Rix
4c53ad729f Add a FIXME. 2018-03-01 12:09:34 -05:00
Rob Rix
a9c8e3f85f We don’t use DataKinds here. 2018-03-01 12:08:52 -05:00
Rob Rix
f53ec5aa61 Sort the language extensions. 2018-03-01 12:08:44 -05:00
Rob Rix
6141815573 🔥 a redundant constraint for the default signature. 2018-03-01 12:08:31 -05:00
Rob Rix
ae3842d2a5 We don’t use ScopedTypeVariables. 2018-03-01 12:08:03 -05:00
Rob Rix
ceaa2834a8 🔥 a redundant type annotation. 2018-03-01 12:07:52 -05:00
Rob Rix
56a7483165 We don’t use TypeApplications here. 2018-03-01 12:07:31 -05:00
Rob Rix
a5d5d26165 We don’t use TypeOperators. 2018-03-01 12:07:01 -05:00
Rob Rix
65fdc4d805 We don’t define GADTs here. 2018-03-01 12:06:46 -05:00
Rob Rix
d78b259987 FunctionalDependencies implies MultiParamTypeClasses. 2018-03-01 12:06:35 -05:00
Rob Rix
acb53236c2 We no longer require rank-2 types. 2018-03-01 12:06:20 -05:00
Rob Rix
f05f0951f0 Rename MonadFunctionAbstraction to MonadFunction. 2018-03-01 12:01:36 -05:00
Rob Rix
d8540f9e4c Consolidate the Evaluatable module’s exports. 2018-03-01 11:59:23 -05:00
Rob Rix
c0b2bd1c8a Rename Control.Monad.Effect.Evaluatable to Data.Abstract.Evaluatable. 2018-03-01 11:54:05 -05:00
Rob Rix
ecd81878fc Rename Control.Monad.Effect.Addressable to Control.Abstract.Addressable. 2018-03-01 11:50:38 -05:00
Rob Rix
9cedb403bd 🔥 redundant imports. 2018-03-01 10:03:45 -05:00
Rob Rix
9192a35b06 Merge branch 'eval-effect' into algebraic-evaluation 2018-03-01 09:56:12 -05:00
joshvera
83e2ba56e5 Merge remote-tracking branch 'origin/master' into prologue 2018-02-28 15:30:42 -05:00
Rob Rix
6501431dea 🔥 the effect list parameter from Evaluatable. 2018-02-28 14:14:45 -05:00
Rob Rix
7198c506be Evaluate in terms of Evaluator. 2018-02-28 14:09:06 -05:00