Patrick Thomson
378b65631a
Evaluatable instance for Array literals.
...
Pretty much identical to the one for tuples.
2018-03-14 11:46:23 -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
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
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
Patrick Thomson
229902a5ca
Merge remote-tracking branch 'origin/master' into rationals
2018-03-14 10:40:00 -04:00
Patrick Thomson
81aab6572e
Address Rob's changes.
2018-03-14 10:36:56 -04:00
Rob Rix
944fb5d879
Merge pull request #1555 from github/garbage-collecting
...
Garbage Collecting
2018-03-14 09:48:39 -04:00
Rob Rix
3a654abb08
Reformat RequiredEffects over multiple lines.
2018-03-14 09:40:45 -04:00
Rob Rix
6918fb31cf
Merge branch 'master' into garbage-collecting
2018-03-14 09:39:55 -04:00
Rob Rix
9b91c742b2
Merge pull request #1559 from github/import-environments
...
Import environments
2018-03-14 09:38:59 -04:00
Rob Rix
5f86831c28
🔥 Interface values.
2018-03-14 09:31:05 -04:00
Rob Rix
5e5599c9e8
Copy my changes back.
2018-03-14 09:30:45 -04:00
Rob Rix
6833ac039e
Merge branch 'master' into import-environments
2018-03-14 09:07:46 -04:00
Patrick Thomson
0d248e2aab
Make sure we match Rationals in liftNumeric.
2018-03-13 20:55:46 -04:00
Patrick Thomson
6a604628d0
Merge branch 'master' into symbol-eval
2018-03-13 19:19:41 -04:00
Patrick Thomson
ca96b02869
strictness annotations. will this do anything? only time will tell
2018-03-13 19:03:00 -04:00
Patrick Thomson
f9e8edddff
Merge remote-tracking branch 'origin/master' into rationals
2018-03-13 18:24:25 -04:00
Patrick Thomson
92a7b4ca93
Add Evaluatable instance for Rational and unify numerical interface.
...
This one's kind of a doozy. We pull in a GADT that wraps an `Integer`,
`Rational`, or `String`, and change the interpreted value types to
hold instances of this GADT (`Number`). We also provide a rank-2
wrapper that hides the type parameter when necessary.
The upshot of this patch is that we get support for rational numbers
and a cleaner interface in MonadValue, without sacrificing a mote of
type safety: interpreted `Integer` values are guaranteed to contain a
Haskell `Integer`.
On the other hand, it's kind of a monstrosity. Please let me know if
you spot any places where I can simplify these constructs or document
the code more fully.
To test in Ruby, evaluate `3r ** 4r`.
2018-03-13 18:13:38 -04:00
Timothy Clem
3cbd4d004d
Merge pull request #1535 from github/typescript-exports
...
Typescript exports
2018-03-13 13:57:04 -07:00
Josh Vera
91a5f87742
Merge branch 'master' into symbol-eval
2018-03-13 15:42:13 -05:00
joshvera
fbe80583ad
Merge branch 'typescript-exports' of https://github.com/github/semantic-diff into typescript-exports
2018-03-13 13:39:38 -07:00
Josh Vera
a8534f481f
Merge branch 'master' into typescript-exports
2018-03-13 15:32:19 -05:00
joshvera
b094d4c0f6
Add Exports constraint to MonadEnvironment instance
2018-03-13 13:21:50 -07:00
joshvera
f93243f5b5
Merge remote-tracking branch 'origin/master' into typescript-exports
2018-03-13 13:13:53 -07:00
Patrick Thomson
16ecd27814
Merge pull request #1556 from github/while-evaluation
...
Evaluatable instance for While and DoWhile.
2018-03-13 16:05:40 -04:00
Rob Rix
b597ef909a
Merge branch 'import-environments' of https://github.com/github/semantic-diff into import-environments
2018-03-13 16:00:02 -04:00
Rob Rix
a8b6528f67
Commit the right name ✋ 😞
2018-03-13 15:59:52 -04:00
Rob Rix
cee2e78ee5
Merge branch 'master' into import-environments
2018-03-13 15:58:17 -04:00
Rob Rix
a968fa05ac
Tidy up bindEnv.
2018-03-13 15:57:57 -04:00
Patrick Thomson
eb364317cb
move logic out of eval and into a helper
2018-03-13 15:57:08 -04:00
Patrick Thomson
d72c1807a2
stylistic changes
2018-03-13 15:42:47 -04:00
Patrick Thomson
611f1a9a6f
Merge remote-tracking branch 'origin/evaluate-for-loops' into while-evaluation
...
Thanks to @robrix for the fixed eval instance.
2018-03-13 15:40:34 -04:00
Rob Rix
2ee1c7d472
Eval Module using [] to print the last value.
2018-03-13 15:36:02 -04:00
Rob Rix
e846675b5b
Eval using [] to print the last value.
2018-03-13 15:34:50 -04:00
Rob Rix
9448cb437f
Bind variables in for loops.
...
Co-Authored-By: Ayman Nadeem <aymannadeem@gmail.com>
2018-03-13 15:33:46 -04:00
Rob Rix
fb7946714c
Unify equal types.
2018-03-13 15:33:18 -04:00
Rob Rix
b40eda1551
liftComparison promotes its operands.
2018-03-13 15:32:46 -04:00
Rob Rix
a6b4e5490a
Eval using [] to print the last value.
2018-03-13 15:32:23 -04:00
Rob Rix
b8a31a21fb
Add a typechecking entry point for TypeScript.
2018-03-13 15:31:36 -04:00
Rob Rix
6c5650b950
Merge remote-tracking branch 'origin/while-evaluation' into evaluate-for-loops
2018-03-13 15:06:47 -04:00
Patrick Thomson
6f9a6cb6b8
Evaluatable instance for symbols.
...
Deferring the decision on whether to intern symbols to some later date
when we really get into the weeds re. Ruby semantics.
2018-03-13 14:45:20 -04:00
Patrick Thomson
d84e5d2043
otiose comments
2018-03-13 13:41:29 -04:00
Patrick Thomson
dffab93724
add for loops too, why not
2018-03-13 13:37:27 -04:00
Rob Rix
3a6ed6ff0c
Merge remote-tracking branch 'origin/while-evaluation' into evaluate-for-loops
2018-03-13 13:28:03 -04:00
Patrick Thomson
76e22f79cc
unused import and pragma
2018-03-13 13:02:33 -04:00
Patrick Thomson
b6a0494d2f
Merge remote-tracking branch 'origin/master' into while-evaluation
2018-03-13 13:01:22 -04:00
Patrick Thomson
88a909690a
unused import
2018-03-13 13:00:48 -04:00