Rob Rix
f49670e352
Revert "runEffects produces the final result directly."
...
This reverts commit 485237e2367a9e221c6be22cc24d318009a32306.
2018-03-14 15:39:10 -04:00
Rob Rix
9d1b35dac7
Revert "Define runAnalysis using run."
...
This reverts commit 974cd920f3a27ad41b871a4f42a83cb35ae94cb4.
2018-03-14 15:39:00 -04:00
Rob Rix
00245699be
Merge branch 'master' into fix-fix
2018-03-14 15:35:23 -04:00
Rob Rix
ca8322a8fa
Merge branch 'master' into fix-fix
2018-03-14 15:32:06 -04:00
Rob Rix
526a72eea4
Revert "Parameterize Type by some type constructor."
...
This reverts commit 54dcb372919fab3d4b62e7773638a5e24f6293d9.
2018-03-14 15:31:46 -04:00
Rob Rix
a85fe18d20
📝 loop.
2018-03-14 15:30:15 -04:00
Rob Rix
2eec625fbb
Define looping as primitive on MonadValue.
2018-03-14 15:27:53 -04:00
Rob Rix
222ce40be3
Function/method names are bound in their bodies.
2018-03-14 15:08:24 -04:00
Rob Rix
4b4cea587f
letrec returns the address.
2018-03-14 15:06:40 -04:00
Patrick Thomson
c39a34010b
Merge remote-tracking branch 'origin/master' into array-literals
2018-03-14 15:04:28 -04:00
Timothy Clem
ddc7a0447f
Minor spacing and naming cleanup for readability
2018-03-14 12:03:14 -07:00
Rob Rix
c392b50037
Loosen the constraint on modifyGlobalEnv.
2018-03-14 15:02:00 -04:00
Timothy Clem
7204debb07
Merge remote-tracking branch 'origin/master' into import-language-tour
2018-03-14 11:38:49 -07:00
Rob Rix
5c15ad7120
Define runAnalysis using run.
2018-03-14 14:02:47 -04:00
Rob Rix
a2dffe278c
runEffects produces the final result directly.
2018-03-14 14:02:02 -04:00
Rob Rix
8ff194439c
Rename a bunch more type parameters.
2018-03-14 13:55:59 -04:00
Rob Rix
00549ae24b
Align the comments.
2018-03-14 13:11:26 -04:00
Rob Rix
418f7536c4
Add an effects parameter to EvaluatingEffects.
2018-03-14 13:10:29 -04:00
Patrick Thomson
9081f3effe
Initial, broken implementation of Evaluatable for Class.
2018-03-14 12:35:48 -04:00
Rob Rix
762a8e34a3
Don’t recompute the free variables in closure bodies.
2018-03-14 12:33:17 -04:00
Rob Rix
9742978154
Close over a smaller environment.
2018-03-14 12:31:34 -04:00
Rob Rix
a0071fc768
Add a function deleting a binding from an environment.
2018-03-14 12:31:02 -04:00
Rob Rix
3775750451
Parameterize Type by some type constructor.
2018-03-14 12:05:57 -04:00
Rob Rix
4ab0ae50e1
Derive Generic1, Eq1, Ord1, & Show1 instances for Subterm.
2018-03-14 11:48:34 -04:00
Patrick Thomson
378b65631a
Evaluatable instance for Array literals.
...
Pretty much identical to the one for tuples.
2018-03-14 11:46:23 -04:00
Rob Rix
97a1d5adb6
Require Ord instances for LocationFor.
2018-03-14 11:26:39 -04:00
Rob Rix
a391268efe
Add superclass constraints to AbstractLocation.
2018-03-14 11:25:44 -04:00
Patrick Thomson
a6346525e6
Add Evaluatable instance for Bitwise operators.
...
Would have been nice to reuise liftNumeric and liftNumeric2, but it's
not clear what it means to take bitwise components of rational or
floating-point numbers.
2018-03-14 11:25:06 -04:00
Rob Rix
c1f3bd5711
…and some more.
2018-03-14 11:22:25 -04:00
Rob Rix
b8a3bd72f0
And some more type parameters.
2018-03-14 11:21:35 -04:00
Rob Rix
601c3b97d8
Rename some more type parameters.
2018-03-14 11:20:37 -04:00
Rob Rix
9ef31e03ec
We don’t actually need the functional dependency here.
2018-03-14 11:19:19 -04:00
Rob Rix
34f2f04931
Clean up some language extensions.
2018-03-14 11:19:00 -04:00
Rob Rix
9b53187b8e
Define Cell as an associated type family.
2018-03-14 11:16:23 -04:00
Rob Rix
6dd03c72d5
Define Cell as an open type family.
2018-03-14 11:15:23 -04:00
Rob Rix
8ac251c45b
Rename a bunch more type parameters.
2018-03-14 11:12:44 -04:00
Rob Rix
e8df177ed4
Rename a bunch of type parameters.
2018-03-14 11:11:39 -04:00
Rob Rix
50f57fcf6f
Generalize Environment over the address type.
2018-03-14 11:10:47 -04:00
Rob Rix
9d9b0abd67
Use EnvironmentFor to abbreviate lookupOrAlloc(').
2018-03-14 11:10:08 -04:00
Rob Rix
f105ecbdaa
Align Configuration fields.
2018-03-14 11:09:20 -04:00
Rob Rix
12824b018a
Sort imports.
2018-03-14 11:09:14 -04:00
Patrick Thomson
3b9b3703f6
Merge pull request #1557 from github/symbol-eval
...
Evaluatable instance for symbols.
2018-03-14 10:58:34 -04:00
Rob Rix
971ca6e5ad
Define an AbstractValue typeclass with instances for Value & Type.
2018-03-14 10:58:08 -04:00
Rob Rix
426b48ea1c
Define LocationFor as an open type family.
2018-03-14 10:55:59 -04:00
Patrick Thomson
78212c6efb
Merge remote-tracking branch 'origin/master' into symbol-eval
2018-03-14 10:50:34 -04:00
Patrick Thomson
4ff2ca71cc
Merge pull request #1560 from github/rationals
...
Add Evaluatable instance for Rational and unify numerical interface.
2018-03-14 10:48:13 -04:00
Patrick Thomson
b7b1b1f2ef
Merge remote-tracking branch 'origin/master' into symbol-eval
2018-03-14 10:46:56 -04:00
Rob Rix
b8fb250e10
apply does not take Subterms.
2018-03-14 10:45:03 -04:00
Patrick Thomson
fc122bdfbe
Merge branch 'symbol-eval' of github.com:github/semantic into symbol-eval
2018-03-14 10:43:33 -04:00
Patrick Thomson
99d4815d3a
Don't do anything clever with stripping colons from symbols.
2018-03-14 10:42:50 -04:00