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