Rob Rix
f7cb9e7098
🔥 the MonadGC interface.
2018-03-13 10:10:30 -04:00
Rob Rix
235f982c91
Define getConfiguration to use askRoots.
2018-03-13 10:06:50 -04:00
Rob Rix
55310af7a8
Fix up the MonadAnalysis instance’s constraints.
2018-03-13 10:03:09 -04:00
Rob Rix
935e213cf3
Derive the extra instances.
2018-03-13 10:03:00 -04:00
Rob Rix
fb3b76fe3c
Re-enable askRoots.
2018-03-13 10:02:54 -04:00
Rob Rix
ebdeb11db0
Merge branch 'decompose-monad-evaluator' into garbage-collecting
2018-03-13 09:58:27 -04:00
Rob Rix
8f6128c6e4
Merge branch 'master' into decompose-monad-evaluator
2018-03-13 09:48:14 -04:00
Patrick Thomson
abd4e5f5ec
Merge pull request #1551 from github/tuples-and-variable-declarations
...
Evaluatable instances for VariableDeclarations and tuple literals.
2018-03-12 17:06:50 -04:00
Patrick Thomson
ce1a3d1e78
Merge remote-tracking branch 'origin/master' into tuples-and-variable-declarations
2018-03-12 16:56:42 -04:00
Patrick Thomson
578bb5c566
unnecessary import
2018-03-12 16:52:32 -04:00
Rob Rix
ad07ee0fff
Merge branch 'master' into decompose-monad-evaluator
2018-03-12 16:45:41 -04:00
Rob Rix
eb42831aff
Merge pull request #1533 from github/re-enable-tracing-analyses
...
Re-enable tracing analyses
2018-03-12 16:45:03 -04:00
Rob Rix
0e9ed4e9ae
Use evaluateModule in load instead of evaluateTerm.
2018-03-12 15:59:19 -04:00
Rob Rix
32240e2864
Merge branch 'master' into re-enable-tracing-analyses
2018-03-12 15:59:00 -04:00
Rob Rix
3639743e73
📝 modifyModuleTable.
2018-03-12 15:35:09 -04:00
Rob Rix
76ba8963a9
📝 the new typeclasses.
2018-03-12 15:34:37 -04:00
Rob Rix
15771c5dc6
Explicitly list the Evaluator exports.
2018-03-12 15:32:55 -04:00
Rob Rix
3aa6a783cd
🔥 the default definition of getConfiguration.
...
This should enable us to wrap it s.t. using -XGeneralizedNewtypeDeriving will call overloads in downstream analyses.
2018-03-12 15:31:36 -04:00
Patrick Thomson
44cf356721
Merge pull request #1549 from github/show-constraints
...
Add Show constraint to MonadValue to improve error messages.
2018-03-12 15:24:17 -04:00
Rob Rix
a1a7b8e3cc
modifyGlobalEnv is strict in the new env.
2018-03-12 15:23:30 -04:00
Rob Rix
db80ec7afa
modifyModuleTable is strict in the new table.
2018-03-12 15:23:07 -04:00
Rob Rix
23cc1eafc4
modifyStore is strict in the new store.
2018-03-12 15:21:28 -04:00
Rob Rix
b060a7a83a
Move assign into Control.Abstract.Evaluator.
2018-03-12 15:19:28 -04:00
Rob Rix
49c63fac0a
Simplify the MonadAddressable interfaces to use MonadStore.
2018-03-12 15:16:50 -04:00
Rob Rix
b32eaa967b
Merge branch 'master' into re-enable-tracing-analyses
2018-03-12 15:13:50 -04:00
Rob Rix
8e9375c08b
Replace askRoots with getConfiguration directly.
2018-03-12 15:09:51 -04:00
Patrick Thomson
3372c1a7ef
Merge remote-tracking branch 'origin/master' into show-constraints
2018-03-12 15:02:22 -04:00
Patrick Thomson
4ae639a994
Merge pull request #1552 from github/ 🔥 -diffPatch
...
🔥 diffPatch
2018-03-12 15:00:32 -04:00
Rob Rix
6a53cf8da9
Factor the ModuleTable interface out of MonadEvaluator.
2018-03-12 14:59:42 -04:00
Rob Rix
591785cdbb
Factor the Environment interface out of MonadEvaluator.
2018-03-12 14:55:27 -04:00
Rob Rix
84a59eeaf8
Factor the Store interface out of MonadEvaluator.
2018-03-12 14:51:49 -04:00
Rob Rix
f70ee19ce7
🔥 diffPatch
2018-03-12 14:45:22 -04:00
Rob Rix
26107bf1a0
Disallow specialization of getConfiguration.
2018-03-12 14:44:27 -04:00
Rob Rix
1ff21bf120
Collect after analyzing each term.
2018-03-12 14:42:52 -04:00
Rob Rix
845dcdfb80
Re-add the gc/reachable functions.
2018-03-12 14:38:50 -04:00
Rob Rix
efb70fbf7e
Require a reader for the live set.
2018-03-12 14:36:59 -04:00
Rob Rix
9d7d604fb6
Define a MonadGC instance when we have a live set in the effects.
2018-03-12 14:36:13 -04:00
Rob Rix
d39c5758b9
Define MonadGC.
2018-03-12 14:35:57 -04:00
Rob Rix
8d1b80e599
Define a simple passthrough Collecting analysis.
2018-03-12 14:31:24 -04:00
Patrick Thomson
dfc4d786e5
documentation
2018-03-12 14:24:36 -04:00
Rob Rix
31dae8f671
🔥 Control.Monad.Effect.GC.
2018-03-12 14:24:28 -04:00
Patrick Thomson
e8c7389ffe
Evaluatable instances for VariableDeclarations and tuple literals.
...
The VariableDeclaration instance just shells out to that for
Assignment, but required the addition of a concrete tuple typle for
cases such as `var x = 1, y = 2`. As an added bonus, we now get tuple
evaluations in Python.
This required a rejiggering of the Value type in Data.Abstract.Value -
it is now a newtype over the union that contains another Value type
recursively, analogous how Fix ties the knot over infinitely-nested
Functor values.
2018-03-12 14:19:29 -04:00
Rob Rix
371a4ae02b
Whoops, semigroups snuck back in there.
2018-03-12 12:56:47 -04:00
Rob Rix
7794d9423b
Merge branch 'master' into re-enable-tracing-analyses
2018-03-12 12:09:13 -04:00
Rob Rix
4e4a61f8fb
Tweak to the docs for gather.
2018-03-12 11:42:46 -04:00
Rob Rix
35718fca96
Resume taking an explicit constructor in gather so it doesn’t have to be annotated with the type.
2018-03-12 11:42:14 -04:00
Rob Rix
82c578ed0d
📝 raise & lower.
2018-03-12 11:39:51 -04:00
Rob Rix
80f5a4e024
🔥 redundant extensions.
2018-03-12 11:37:56 -04:00
Rob Rix
fa4a74c3c1
Give a kind signature for Effectful’s parameter.
2018-03-12 11:37:23 -04:00
Rob Rix
5c415fee15
📝 Effectful.
2018-03-12 11:37:06 -04:00