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

3284 Commits

Author SHA1 Message Date
Rob Rix
7b02e3e64f Correct the EnvironmentError application. 2018-05-28 15:30:19 -04:00
Rob Rix
f0c220906a Partially apply Eff in the tests. 2018-05-28 14:48:00 -04:00
Rob Rix
cc02cfd8eb AbstractIntro is pure. 2018-05-28 14:47:42 -04:00
Rob Rix
89b90496b7 Don’t qualify this name. 2018-05-28 14:47:20 -04:00
Rob Rix
b3b47a34df 🔥 Goto. 2018-05-28 14:42:46 -04:00
Rob Rix
282c02fbbd Embed the evaluating action into the closure body. 2018-05-28 14:11:08 -04:00
Rob Rix
a01e723b31 Run ValueErrors in TermEvaluator. 2018-05-28 09:55:01 -04:00
Rob Rix
015b74cf41 Give Value a term type parameter once more. 2018-05-28 09:35:42 -04:00
Rob Rix
a2135fda74 Don’t use overloaded lists. 2018-05-28 09:35:03 -04:00
Rob Rix
2993c3588c Correct the specs. 2018-05-28 08:54:33 -04:00
Rick Winfrey
e74bfca4bd Assign basic type synonym declarations 2018-05-25 01:57:20 -05:00
Rick Winfrey
ea18738a28 Assign string and array literals 2018-05-25 01:57:20 -05:00
Rick Winfrey
d86a41f17c Assign character literals 2018-05-25 01:57:20 -05:00
Rob Rix
127ed8a26a Merge branch 'master' into rearrange-value-ref-and-friends 2018-05-24 12:23:30 -04:00
Rob Rix
5ac256e340 🔨 fix the type in the spec 2018-05-24 12:09:20 -04:00
Rob Rix
eeb604569d Merge branch 'master' into decompose-values 2018-05-24 09:11:19 -04:00
Rick Winfrey
3d70af57a4 Add blank file test fixture 2018-05-23 15:59:32 -07:00
Rick Winfrey
32619a8124 Add literal test fixtures 2018-05-23 15:55:26 -07:00
Patrick Thomson
7da61bd4c9 Merge branch 'master' into strict-equals 2018-05-23 11:33:32 -04:00
Patrick Thomson
eaa54a3230 Add strict-equality function.
TypeScript, JavaScript, and PHP support an === operator, which
corresponds to strict equality (usually the equality you want). I've
added a constructor to Comparison that takes care of this. Actually
implementing non-strict equality for the above languages will have to
wait until we can build behavior a la carte.

I chose not to add Ruby's case-equality operator, though it uses ===,
since the behavior is so different. (For example, a === a is not
always true over Ruby's ===).
2018-05-23 11:28:31 -04:00
Rob Rix
115e887739 Merge branch 'master' into decompose-values 2018-05-23 09:59:16 -04:00
Patrick Thomson
f563a2c808 forgot a do 2018-05-22 17:25:17 -04:00
Patrick Thomson
c8d5a8d231 add test for cancelling in-flight parsers 2018-05-22 17:01:17 -04:00
Patrick Thomson
949b9be418 add spec 2018-05-22 16:53:03 -04:00
Rob Rix
2cb425dbb5 Merge branch 'master' into decompose-values 2018-05-22 15:43:51 -04:00
Rob Rix
fb5b903af7 Merge branch 'master' into decompose-values 2018-05-22 08:44:54 -04:00
joshvera
dd123a0181 Merge remote-tracking branch 'origin/master' into grpc-server 2018-05-21 13:55:15 -04:00
joshvera
378dad0d69 Merge remote-tracking branch 'origin/master' into grpc-server 2018-05-21 12:33:22 -04:00
Timothy Clem
42af0faae6 New approach for linting 2018-05-21 08:17:11 -07:00
Rob Rix
18b2cfc89f Merge branch 'master' into decompose-values 2018-05-18 14:14:55 -04:00
Rob Rix
5504b0b673 Add doctests for the Show output. 2018-05-18 14:03:42 -04:00
Rob Rix
c45802a809 Reformat defaultFiles. 2018-05-18 13:20:56 -04:00
Rob Rix
109dbd3b44 Fix the typescript spec. 2018-05-18 13:07:37 -04:00
Rob Rix
2ba726cb28 Fix a dodgy import. 2018-05-18 13:06:49 -04:00
Rob Rix
75d83155ec Re-export the Name module. 2018-05-18 13:06:35 -04:00
Rob Rix
81951d7bcc Fix the Listable instance for Name. 2018-05-18 13:05:46 -04:00
Rob Rix
ca6b32378e Merge branch 'master' into allocator-effect 2018-05-18 11:09:20 -04:00
Josh Vera
053a158e59 Merge branch 'master' into update-fastsum 2018-05-18 10:44:08 -04:00
Rob Rix
6f3698122c Merge branch 'master' into allocator-effect 2018-05-17 16:47:24 -04:00
Rob Rix
ad3f63ad74 Merge branch 'allocator-effect' into decompose-values 2018-05-17 16:46:58 -04:00
Ayman Nadeem
8aad81b775 Merge branch 'master' into java-assignment 2018-05-17 10:42:00 -07:00
Timothy Clem
c2851c9d8a Merge branch 'master' into package-dot-json-parsing 2018-05-17 08:02:29 -07:00
Timothy Clem
1cbccd5557 Merge branch 'master' into python-relative-imports 2018-05-17 07:55:33 -07:00
Rob Rix
e9238d0ec7 Merge branch 'master' into package-dot-json-parsing 2018-05-16 19:12:08 -04:00
Rob Rix
19bc0ab637 Merge branch 'master' into allocator-effect 2018-05-16 18:33:00 -04:00
Patrick Thomson
dafb3edaf5 Merge remote-tracking branch 'origin/master' into update-fastsum 2018-05-16 18:26:43 -04:00
Patrick Thomson
322f348103 inj -> inject 2018-05-16 18:25:02 -04:00
Rob Rix
101798fd39 Update a bunch of fixtures. 2018-05-16 16:38:40 -04:00
Rob Rix
06047bc31f Unify them types. 2018-05-16 16:21:02 -04:00
Rob Rix
a918420726 diffWithParser needs a Hashable1 instance. 2018-05-16 16:19:18 -04:00
Rob Rix
02947bf61e Fix the RWS spec. 2018-05-16 16:15:06 -04:00
Patrick Thomson
6b0198cb00 Remove otiose -Sum prefixes from all Data.Sum operations.
There are no modules where we use both Union.inj and Sum.injectSum; as
such, it seems clumsy for such ubiquitous functions as inj and prj to
have such long names when there is no ambiguity. This restores the
codebase to much how it looked before we switched back to a richer
Data.Union.
2018-05-16 15:27:08 -04:00
Timothy Clem
6517f12684 Merge remote-tracking branch 'origin/master' into python-relative-imports 2018-05-16 12:25:22 -07:00
Timothy Clem
a60ed7bc16 Merge remote-tracking branch 'origin/master' into package-dot-json-parsing 2018-05-16 12:07:13 -07:00
Timothy Clem
7137c057b4 Fix up example a bit 2018-05-16 10:43:38 -07:00
Rob Rix
6ee5cabdf8 Run allocator effects in the evaluator spec. 2018-05-16 13:43:14 -04:00
Timothy Clem
aa9eb68045 Fully construct PackageInfo here 2018-05-16 10:34:17 -07:00
Timothy Clem
453f60ee36 Some example js code for various module require/resolution options 2018-05-16 10:21:24 -07:00
Rob Rix
e8aa1a4da7 Revert "Move Precise & Latest into their own module."
This reverts commit 318ed8510aeb31ae892652685771bdba810d2df4.
2018-05-16 13:18:25 -04:00
Rob Rix
680336057d Move Precise & Latest into their own module. 2018-05-16 11:53:24 -04:00
Timothy Clem
f81ea4bff5 s/File/Project b/c that makes more sense to me 2018-05-16 08:38:00 -07:00
Rob Rix
47e92a766f Merge remote-tracking branch 'origin/master' into fix-abstract-semantics 2018-05-15 18:47:47 -04:00
Rob Rix
788618a9d0 Fix extracting values from Latest in the tests. 2018-05-15 17:43:57 -04:00
Timothy Clem
62956f78d7 Print and actually return a string 2018-05-15 11:57:18 -07:00
Timothy Clem
27ce720904 Test out relative python imports 2018-05-15 11:26:16 -07:00
Rob Rix
3ab781ea48 🔥 all the constraining functions since we can use type applications instead. 2018-05-15 13:51:07 -04:00
Rob Rix
dcaad09deb Fix the specs. 2018-05-15 12:58:05 -04:00
Rob Rix
367982bc8d Don’t use SomeRenderer in the CLI spec. 2018-05-14 18:44:19 -04:00
Rob Rix
84ea29a60b Fix the tests. 2018-05-14 18:39:41 -04:00
joshvera
fb5c4c039d hide error 2018-05-14 16:19:59 -04:00
Rob Rix
f047b57ecc Encoding order is significant. 2018-05-14 16:18:57 -04:00
Rob Rix
03749d008e We can just say diff now. 2018-05-14 16:11:31 -04:00
Rob Rix
5bae88724b Move the diffTermPair tests into the interpreter spec. 2018-05-14 16:09:39 -04:00
Rob Rix
1128537b6a Correct a bunch of fixtures. 2018-05-14 10:50:57 -04:00
Rob Rix
75ab25d443 Generalize the type of toOutput. 2018-05-14 10:31:40 -04:00
Rob Rix
b979e9757c Run the builders. 2018-05-14 10:28:01 -04:00
Rob Rix
fc70382d5b Correct the handle types. 2018-05-14 10:27:58 -04:00
Rob Rix
5813258037 Add a runBuilder helper. 2018-05-14 10:27:45 -04:00
Rob Rix
0d0aeafdc5 Add an openFileForReading helper for the tests. 2018-05-14 10:23:29 -04:00
Rob Rix
29be8a5243 Provide a helper which builds bytestrings. 2018-05-14 10:20:13 -04:00
Rob Rix
29af5d4d3a Build the bytestrings. 2018-05-14 10:18:52 -04:00
joshvera
9e2b7725a6 Merge origin/master 2018-05-11 16:37:04 -04:00
Rob Rix
a9d3b29e02 We expect a ByteString here. 2018-05-11 15:31:28 -04:00
Rob Rix
9ed1bc4a38 ByteStrings. 2018-05-11 14:59:50 -04:00
Rob Rix
5497b9a2a4 Swap the Heap location/cell params. 2018-05-11 08:36:45 -04:00
Rob Rix
6ba840e90b Go back to simple address types. 2018-05-11 08:35:43 -04:00
Rob Rix
67892e9cf1 Define Precise as a GADT indexed by its cell type. 2018-05-10 19:27:20 -04:00
Rob Rix
2abfd92678 Bump effects for https://github.com/joshvera/effects/pull/43 2018-05-10 18:27:10 -04:00
Rob Rix
dcad4d852c Parameterize Heap by the cell type. 2018-05-10 12:31:12 -04:00
Rob Rix
716e225da9 Test that puts ends up in the traces. 2018-05-10 11:03:42 -04:00
Rob Rix
13660b9e9d Test for expected symbols, not exact symbols. 2018-05-10 10:59:38 -04:00
Rob Rix
2410387e97 Allow the tests to examine the traces. 2018-05-10 10:58:24 -04:00
Rob Rix
75d2c50589 Test the results of cross-module function calls. 2018-05-10 10:26:07 -04:00
Rob Rix
c2f48fb982 🔥 the ns/addr conveniences. 2018-05-10 10:11:34 -04:00
Rob Rix
4fca683eae Test for the presence of the desired symbols rather than the exact list. 2018-05-10 10:10:57 -04:00
Rob Rix
ae7ee6e860 Test Go environments/heaps against the names. 2018-05-10 10:07:11 -04:00
Rob Rix
5af09d94e1 Test PHP environments/heaps against the names, not addresses. 2018-05-10 10:03:59 -04:00
Rob Rix
69bd2c0af5 Test Python environments/heaps without encoding addresses. 2018-05-10 09:59:54 -04:00
Rob Rix
9ec588ed3c Use the shared helpers for TypeScript. 2018-05-10 09:59:31 -04:00
Rob Rix
6e37f24cee Define a helper to take namespaces apart. 2018-05-10 09:58:38 -04:00
Rob Rix
30a85b576d Define a helper to dereference qualified names in values. 2018-05-10 09:55:11 -04:00
Rob Rix
821691549e Test the bound names, not their addresses. 2018-05-10 09:28:11 -04:00
Rob Rix
8b8f3007cf Test the imported names, not the prelude names. 2018-05-10 09:08:12 -04:00
Rob Rix
76a40939d6 Test the bound names. 2018-05-09 22:04:52 -04:00
Rob Rix
27a25d9a45 Type applications. 2018-05-09 22:04:46 -04:00
Rob Rix
91ca0e1aba Run Gotos via a newtype to break the cycle in the effects types. 2018-05-09 21:30:34 -04:00
Rob Rix
924aa3e243 Correct the corpus for the new line directive syntax. 2018-05-09 15:24:42 -04:00
Rob Rix
c0993c63c9 Test our evaluation of __LINE__. 2018-05-09 15:23:52 -04:00
Rob Rix
3cbf66c57e 🔥 TermEffects. 2018-05-09 12:39:22 -04:00
Rob Rix
f18d066c88 🔥 the Term newtype. 2018-05-09 12:36:48 -04:00
Rob Rix
d02fdb419a Only export spec. 2018-05-09 12:36:40 -04:00
Rob Rix
4dca1c121e 🔥 the term parameter to Evaluator. 2018-05-09 12:35:01 -04:00
Rob Rix
3948f74810 Correct the type of the module table effect. 2018-05-08 16:46:17 -04:00
Rob Rix
fb04c57bdf Use a visible type application to inject the environment error. 2018-05-08 12:03:08 -04:00
Rob Rix
2aae3dbdd3 Allow runGoto to return its jump table. 2018-05-08 11:10:35 -04:00
Rob Rix
97915e1410 Rename lambda to closure. 2018-05-08 10:54:32 -04:00
Rob Rix
d9084f9f45 lambda takes the set of free variables as a parameter. 2018-05-08 10:54:04 -04:00
Rob Rix
5a4e6cb0b0 Merge branch 'evaluator-dsl' into evaluate-closures-without-terms 2018-05-08 10:40:41 -04:00
Rob Rix
8881dc0284 Fix an ambiguous reference to runM. 2018-05-08 10:40:25 -04:00
Rob Rix
65bcc461fc Merge branch 'evaluator-dsl' into evaluate-closures-without-terms 2018-05-08 10:36:04 -04:00
Rob Rix
c153815859 Merge branch 'musical-chairs,-evaluator-edition' into evaluator-dsl 2018-05-08 10:32:51 -04:00
Rob Rix
eacb5b47d7 Implement goto using Goto effects embedding evaluators. 2018-05-08 10:19:50 -04:00
Rob Rix
2b2a6f0cd8 Specialize ValueError to Value. 2018-05-08 09:05:43 -04:00
Patrick Thomson
d12ecb8387 move the trace runners to Control.Effect 2018-05-07 17:22:26 -04:00
Rob Rix
b66ea73427 Reassociate errors in the specs. 2018-05-07 16:56:40 -04:00
Rob Rix
d9e76fb2c5 Test that we can call functions. 2018-05-07 16:06:21 -04:00
Rob Rix
c05884195d Add environment errors to the mix. 2018-05-07 16:06:04 -04:00
Rob Rix
de1a8e1164 Clean up a redundant pure. 2018-05-07 16:05:55 -04:00
Rob Rix
b589d4f7d0 Define a FreeVariables instance for Term. 2018-05-07 16:05:27 -04:00
Rob Rix
b1dea9c5f0 Switch variable over to EnvironmentError. 2018-05-07 15:56:47 -04:00
Rob Rix
ca778fd76e We don’t need to constrain the term type any more. 2018-05-07 15:25:05 -04:00
Rob Rix
4f64d95a51 🔥 redundant language extensions. 2018-05-07 15:21:41 -04:00
Rob Rix
28eec7a7ec Lift TermEvaluators to Subterm evaluators. 2018-05-07 15:19:57 -04:00
Rob Rix
a4e823681f Define a TermEvaluator synonym. 2018-05-07 15:19:36 -04:00
Patrick Thomson
50ea7d1a09 remove duplication 2018-05-07 15:13:40 -04:00
Rob Rix
3b4b953506 Run evaluators in IO. 2018-05-07 15:13:01 -04:00
Rob Rix
1bd817bc76 Test that we can construct integers. 2018-05-07 15:10:41 -04:00
Rob Rix
980fd74aed Define an evaluator helper. 2018-05-07 15:10:11 -04:00
Rob Rix
47d48d695e Add types for terms, values, and the effects for evaluating terms. 2018-05-07 15:09:50 -04:00
Patrick Thomson
110365733c fix specs 2018-05-07 14:39:01 -04:00
Rob Rix
c427be3670 Stub in a spec for Evaluator. 2018-05-07 14:21:05 -04:00
Rob Rix
ca5ca629dc Run the analysis. 2018-05-06 17:38:04 -04:00
Rob Rix
2fa602c98f Fix stale references to interpret. 2018-05-06 17:37:44 -04:00
Rob Rix
a23bc350da Constrain the specs to Value Precise. 2018-05-06 17:36:33 -04:00
Rob Rix
e638fb4715 Update the specs to use a testEvaluating analysis. 2018-05-06 17:30:07 -04:00
Rob Rix
b6709b4da2 Use the correct injection/projection functions in the tests. 2018-05-06 17:23:39 -04:00
Rob Rix
da3ddd2b17 Fix the specs. 2018-05-02 16:10:56 -04:00
Rob Rix
243fb331fc Fix stale references to inj in the tests. 2018-05-02 15:55:10 -04:00
Rob Rix
911111987a Return to piecemeal state effects, and combine them in Evaluating. 2018-05-02 15:54:11 -04:00
Rob Rix
152fe6a6a8 Fix the ambiguity around Sum. 2018-05-02 13:14:51 -04:00