Rob Rix
7df71e359e
Replace Core.Term with Syntax.Term.
2019-10-10 15:17:22 -04:00
Rob Rix
d7dc440a30
Move all the Data.* modules into Core.* instead.
2019-10-10 15:07:49 -04:00
Rob Rix
13907fd269
Correct the semantic-python tests.
2019-10-10 14:18:56 -04:00
Patrick Thomson
ccfa49aaee
Merge branch 'proper-continuations' into compile-python-calls
2019-10-09 14:52:50 -04:00
Patrick Thomson
e419e33a50
Make compile interface use a more powerful continuation.
2019-10-09 14:50:53 -04:00
Patrick Thomson
ae1430c6a2
Merge branch 'standardize-compilation-names' into compile-python-calls
2019-10-09 12:57:38 -04:00
Patrick Thomson
3f539abfb6
Make compile interface internal and provide toplevelCompile instead.
2019-10-09 12:47:03 -04:00
Patrick Thomson
dab8a04266
Merge remote-tracking branch 'origin/master' into compile-python-calls
2019-10-09 11:52:10 -04:00
Patrick Thomson
665429fa92
We have these JSON instances already.
2019-10-07 20:16:54 -04:00
Patrick Thomson
7eaf7423e0
Fix the generators and kill some unused imports.
2019-10-07 17:45:53 -04:00
Patrick Thomson
d380aabe89
spruce up the unit test
2019-10-07 12:17:52 -04:00
Patrick Thomson
e62ec09c62
[semantic-python] Compile function calls.
...
Though this does not work with keyword arguments, list/dictionary
splats, or generator expressions, it suffices for the simple case.
2019-10-02 15:56:25 -04:00
Patrick Thomson
90f5c78b0d
Merge branch 'master' into json-and-core-are-breaking-up
2019-10-02 13:50:12 -04:00
Patrick Thomson
b33b98e75c
Remove FileCheck conversion of Core to JSON.
...
Converting Core into JSON and querying it turned out to be an exercise
in frustration, since Core does not map naturally onto JSON. Indeed,
we have given up using it entirely thanks to the `CHECK-TREE`
directive, which is much more natural. This means we can drop it from
the test harness and remove the orphan instances that allowed it.
2019-10-02 11:23:33 -04:00
Patrick Thomson
7d93f390a6
Merge branch 'master' into abstract-actions-over-terms
2019-10-02 11:20:31 -04:00
Patrick Thomson
87a658d45b
Fix tests and squash warnings.
2019-10-02 10:59:54 -04:00
Rob Rix
eb922e7e01
🔥 a redundant binding.
2019-10-02 09:59:26 -04:00
Rob Rix
7312997f29
🔥 a redundant import.
2019-10-02 09:59:21 -04:00
Rob Rix
ad3a810e17
Merge branch 'master' into semantic-tags
2019-09-30 13:52:14 -04:00
Patrick Thomson
b1611e13e8
Initial stab at folding over multiple assignments.
2019-09-27 17:35:51 -04:00
Rob Rix
379b9d4f75
Fix the tests.
2019-09-27 15:15:37 -04:00
Patrick Thomson
18a1a0d8b7
Avoid 'head', which is partial.
2019-09-24 00:57:22 -04:00
Patrick Thomson
1731df8bd8
Stray import.
2019-09-23 22:16:25 -04:00
Patrick Thomson
3926742c1d
Improve parsing of FileCheck-style tags.
...
This used to operate via some fast-and-loose (ab)use of the Trifecta
API. A simpler way to do things is to use streaming-bytestring to load
a file line by line and parse directives until we encounter program text.
2019-09-23 22:00:44 -04:00
Patrick Thomson
e98e483c13
Define Compile interface in terms of compileCC.
2019-09-23 13:30:23 -04:00
Patrick Thomson
a556e1d9ff
fix typo
2019-09-23 13:02:50 -04:00
Patrick Thomson
54b5d379ea
Fix Compile instance for ExpressionStatement and Assignment.
2019-09-23 12:31:25 -04:00
Patrick Thomson
dccc1942aa
Break toplevel assignment case because it's wrong.
2019-09-23 12:13:40 -04:00
Patrick Thomson
375c975338
Use compileCC to build a record of toplevel bindings.
2019-09-23 11:56:40 -04:00
Patrick Thomson
4174fce11c
Add Bindings type and reader effect.
2019-09-23 11:06:10 -04:00
Patrick Thomson
611877ad00
An infix fmap is cleaner here.
2019-09-19 15:35:25 -04:00
Patrick Thomson
a89cd0dad9
Eliminate inefficient RelPath->String->Text conversion.
2019-09-19 15:31:04 -04:00
Patrick Thomson
aaa73b20f2
Merge branch 'master' into provide-path-info
2019-09-19 08:22:04 -04:00
Patrick Thomson
d9f88fc046
Add a CHECK-TREE directive and simplify esoteric jq tests.
...
Due to the problems outlined in #245 , the tests for return statements
were complicated and not testing useful properties. This patch adds a
new `CHECK-TREE` directive which lets you embed a Core expression
as a string, which is parsed and then compared against the result of
compiling the containing module.
2019-09-18 18:07:43 -04:00
Patrick Thomson
0dc0a534c6
Start using typed paths in tests.
2019-09-18 14:41:58 -04:00
Patrick Thomson
2aea021890
Use some tree information in a unit test.
2019-09-18 13:05:10 -04:00
Patrick Thomson
99a7806c20
Fix tests.
2019-09-18 12:35:54 -04:00
Patrick Thomson
7d0f817409
Merge branch 'bump-to-tree-sitter-0.2.1' into sempy-early-returns
2019-09-17 10:49:12 -04:00
Patrick Thomson
05d84ea500
Update to latest round of tree-sitter packages.
2019-09-17 10:46:20 -04:00
Patrick Thomson
9728ef0199
Check that returns work within if-clauses.
2019-09-11 12:22:24 -04:00
Patrick Thomson
584e8721f1
Show more and prettier information in the failure dump.
2019-09-11 11:45:21 -04:00
Patrick Thomson
1cd1068323
Add test cases for translating early returns.
2019-09-11 11:44:46 -04:00
Patrick Thomson
245e5055f3
Forgot a liftToEncoding.
2019-09-04 23:10:54 -04:00
Patrick Thomson
a9328c3671
Derive JSON instances for the Core trees.
2019-09-04 23:10:54 -04:00
Patrick Thomson
a7bbd173d0
Formatting/includes.
2019-09-03 13:34:00 -04:00
Patrick Thomson
8369298101
Remove globally-specified default-extensions.
2019-09-03 13:33:45 -04:00
Patrick Thomson
25be284ad2
fix warnings
2019-08-29 09:32:39 -04:00
Patrick Thomson
efa949d402
better naming
2019-08-29 09:30:58 -04:00
Patrick Thomson
973490b5d4
Decomplect this whole thing by lifting it into IO.
2019-08-29 09:20:13 -04:00
Patrick Thomson
31fbc386e9
Enable multiple directives.
2019-08-29 08:52:38 -04:00
Patrick Thomson
1472fc87e7
kill ugly MonadFail hack
2019-08-27 11:34:24 -04:00
Patrick Thomson
a1b7eb9d5d
remove otiose boolean check
2019-08-27 11:29:12 -04:00
Patrick Thomson
1c5ac83791
Corral orphan instances.
2019-08-27 11:27:53 -04:00
Patrick Thomson
80df9c1f1d
pass the scope graph explicitly
2019-08-27 10:47:45 -04:00
Patrick Thomson
7ddbee0006
Remove tests for future milestones for now to keep diffs small.
2019-08-27 10:33:53 -04:00
Patrick Thomson
102ba23513
Reformat comment so it's easier to read in diffs.
2019-08-27 10:25:21 -04:00
Patrick Thomson
811f693051
Use Analysis.ScopeGraph instead of my bad reimplementation
2019-08-16 15:54:17 -04:00
Patrick Thomson
655fdbf3f3
Clean up language pragmas
2019-08-16 14:55:03 -04:00
Patrick Thomson
daa36360a6
add failing tests
2019-08-16 13:24:11 -04:00
Patrick Thomson
dde59eb626
jq-based test suite works
2019-08-16 13:20:08 -04:00
Patrick Thomson
90dd0b4d33
Trying to bring up this test harness
2019-08-16 12:34:56 -04:00
Patrick Thomson
3fb642c06d
Experiment with LLVM-style directives for test assertions
2019-08-13 16:35:11 -04:00
Patrick Thomson
dc47e90c00
Minimum viable patch such that all stage-1 fixtures compile
2019-08-13 16:19:20 -04:00
Patrick Thomson
5acd975b1b
trying to get test cases in shape
2019-08-13 14:01:50 -04:00
Patrick Thomson
b4e24720d4
sections 3 and 4
2019-08-13 11:48:02 -04:00
Patrick Thomson
c95befdb22
Add tests for wave 2
2019-08-12 15:01:55 -04:00
Patrick Thomson
b8ba99ff12
Move these down a directory.
2019-08-12 14:52:43 -04:00
Patrick Thomson
4229e81dd3
Rename and reorg so that these are in line with the roadmap
2019-08-12 13:17:55 -04:00
Patrick Thomson
c578f767e7
some ideas
2019-08-08 13:23:36 -04:00