Patrick Thomson
9cbad7ef8f
Merge remote-tracking branch 'origin/master' into maybem
2018-03-15 16:31:24 -04:00
Patrick Thomson
1ab4bd0c9d
Add maybeM and maybeFail.
...
`maybeM act may` returns the `Just` in `may` or runs `act`.
`maybeFail str may` fails with `str` as an error or extracts the `Just`.
These combinators are so useful that I don't know why they're not in
the Prelude or some library. I use them constantly.
2018-03-15 16:25:53 -04:00
Rob Rix
2cae3739dc
Merge pull request #1572 from github/jump-around,-jump-around
...
Goto
2018-03-15 16:23:11 -04:00
Rob Rix
0f8b874fb9
Define scatter using foldMapA.
2018-03-15 16:15:40 -04:00
Rob Rix
c81fafb184
Move foldMapA into the Prologue.
2018-03-15 16:14:51 -04:00
Rob Rix
56987f4fd2
Merge branch 'master' into jump-around,-jump-around
2018-03-15 16:10:06 -04:00
Rob Rix
8701de3af0
Merge pull request #1520 from github/call-graph-analysis
...
Call graph analysis
2018-03-15 16:07:58 -04:00
Rob Rix
4bd7bc5427
Remove the location parameter from Value.
2018-03-15 16:04:36 -04:00
Rob Rix
7fab2e26aa
Specialize evaluateFile/evaluateFiles to Value Precise.
2018-03-15 14:58:07 -04:00
Rob Rix
0e5e84f35d
Use the Label type in Closure.
2018-03-15 14:52:28 -04:00
Rob Rix
42ec0c8717
Move Label into Data.Abstract.FreeVariables.
2018-03-15 14:49:59 -04:00
Rob Rix
6fc1747652
Spell out the label field.
2018-03-15 14:48:06 -04:00
Rob Rix
ba84fffd56
Define deref using a helper function.
2018-03-15 14:46:38 -04:00
Rob Rix
6099ec037f
Dereference using lookupHeap.
2018-03-15 14:42:33 -04:00
Rob Rix
42b059d88c
Define a helper to fold a collection in an Alternative context.
2018-03-15 14:42:11 -04:00
Rob Rix
5a8b13c63b
Define a helper to look an address up in the heap.
2018-03-15 14:41:57 -04:00
Rob Rix
527d157d90
Pull uninitializedAddress out to the top level.
2018-03-15 14:35:02 -04:00
Rob Rix
d570c854f3
Merge branch 'master' into jump-around,-jump-around
2018-03-15 14:22:36 -04:00
Rob Rix
827a471075
Merge branch 'master' into call-graph-analysis
2018-03-15 14:19:03 -04:00
Patrick Thomson
601e99d7a6
Merge pull request #1563 from github/array-literals
...
Evaluatable instance for Array literals.
2018-03-15 14:18:29 -04:00
Rob Rix
9547688b4a
📝 lookupWith.
2018-03-15 10:44:17 -04:00
Rob Rix
ae3b26c2a7
letrec uses lookupOrAlloc.
2018-03-15 10:41:29 -04:00
Rob Rix
a42af3cee5
lookupOrAlloc doesn’t assign.
2018-03-15 10:40:51 -04:00
Rob Rix
f8bfadf48f
lookupOrAlloc no longer returns the Name.
2018-03-15 10:39:36 -04:00
Rob Rix
9aa76f05c8
🔥 a redundant Semigroup constraint.
2018-03-15 10:37:52 -04:00
Rob Rix
031d67a209
Replace lookupOrAlloc with lookupOrAlloc'.
2018-03-15 10:37:00 -04:00
Rob Rix
3e77eb92ce
Pass the name in manually.
2018-03-15 10:36:46 -04:00
Rob Rix
af21fa48fe
🔥 a redundant import.
2018-03-15 10:36:21 -04:00
Rob Rix
6b7bacc7d3
Merge branch 'master' into call-graph-analysis
2018-03-15 10:34:38 -04:00
Rob Rix
300af7ebde
Correct the paths to the global env.
2018-03-15 10:23:50 -04:00
Rob Rix
3c6d4f9976
🔥 mentions of the obsolete *Value synonyms.
2018-03-15 10:14:22 -04:00
Rob Rix
84af53a4fa
📝 goto.
2018-03-15 10:12:31 -04:00
Rob Rix
6e68f0115a
📝 label.
2018-03-15 10:12:26 -04:00
Rob Rix
acd7051b34
📝 MonadControl.
2018-03-15 10:09:51 -04:00
Rob Rix
6764d31105
Note a TODO for Label.
2018-03-15 10:09:02 -04:00
Rob Rix
07ff06f2f0
📝 Label.
2018-03-15 10:08:57 -04:00
Rob Rix
5171020c70
Merge branch 'master' into jump-around,-jump-around
2018-03-15 10:05:42 -04:00
Rob Rix
f575c05257
🔥 Elaborating for now.
2018-03-15 10:01:23 -04:00
Patrick Thomson
29ad5503e4
Merge remote-tracking branch 'origin/master' into array-literals
2018-03-15 09:13:31 -04:00
Rob Rix
6831bc2502
Simplify the language extensions.
2018-03-14 21:40:43 -04:00
Rob Rix
fcf44b5a37
Rename Store to Heap.
2018-03-14 20:42:59 -04:00
Rob Rix
f68da42754
Simplify the superclasses of MonadValue.
2018-03-14 20:30:26 -04:00
Rob Rix
8378c0aed3
Correct the docs for Closure.
2018-03-14 20:27:15 -04:00
Rob Rix
272f6ec68a
Remove the term parameter from MonadValue.
2018-03-14 20:10:14 -04:00
Rob Rix
d47f91968a
Remove the term parameter from Value.
2018-03-14 20:04:55 -04:00
Rob Rix
d987682a63
Closures wrap labels.
2018-03-14 19:58:30 -04:00
Rob Rix
d6fd75143f
Require MonadControl for MonadEvaluator.
2018-03-14 19:54:52 -04:00
Rob Rix
c6baf4d873
Derive MonadControl instances for the other analyses.
2018-03-14 19:54:39 -04:00
Rob Rix
dfebaf7911
Define MonadControl for Evaluating.
2018-03-14 19:54:21 -04:00
Rob Rix
f022d0202c
Define a MonadControl typeclass which allocates and performs gotos.
2018-03-14 19:54:06 -04:00