Rob Rix
|
604f1d97b7
|
Generalize the generators to arbitrary carriers for Core.
|
2019-07-29 11:24:31 -04:00 |
|
Rob Rix
|
4fdef93d72
|
Generalize the parser to arbitrary carriers for Core.
|
2019-07-29 11:24:22 -04:00 |
|
Rob Rix
|
e2db378be6
|
Fix the tests.
|
2019-07-29 11:18:19 -04:00 |
|
Rob Rix
|
e9b21f6ebf
|
Generate terms capable of annotation in the parser.
|
2019-07-29 11:18:15 -04:00 |
|
Rob Rix
|
01f1176348
|
Split out an Ann datatype representing locations.
|
2019-07-29 11:12:06 -04:00 |
|
Rob Rix
|
0f34dcec45
|
Sequence values in the abstract domain.
|
2019-07-25 12:33:33 -04:00 |
|
Rob Rix
|
cd950fd6ec
|
Derive a Semigroup instance for Term Monotype a.
|
2019-07-25 12:33:13 -04:00 |
|
Rob Rix
|
7d9100f816
|
Derive a Semigroup instance for Concrete.
|
2019-07-25 12:33:00 -04:00 |
|
Rob Rix
|
fde3424c13
|
Dedent all the Analysis fields.
|
2019-07-25 12:32:47 -04:00 |
|
Rob Rix
|
a0bf65f43b
|
Move Edge into Concrete.
|
2019-07-23 16:11:04 -04:00 |
|
Rob Rix
|
7c24672921
|
Parse whitespace following string literals.
|
2019-07-23 15:53:18 -04:00 |
|
Rob Rix
|
41a31d1873
|
Simplify the projection rule.
|
2019-07-23 15:49:22 -04:00 |
|
Rob Rix
|
15430badec
|
Alignment.
|
2019-07-23 15:44:02 -04:00 |
|
Rob Rix
|
0254bc9895
|
Parse more escape sequences.
|
2019-07-23 15:43:25 -04:00 |
|
Rob Rix
|
f10cbb21b3
|
Generate string literals.
|
2019-07-23 15:43:11 -04:00 |
|
Rob Rix
|
3d65ae97ef
|
Sort the atoms.
|
2019-07-23 15:27:03 -04:00 |
|
Rob Rix
|
ac3f487703
|
Correct the precedence of load.
|
2019-07-23 15:24:19 -04:00 |
|
Rob Rix
|
3b6741456d
|
Rename edge to load.
|
2019-07-23 15:23:45 -04:00 |
|
Rob Rix
|
e4470bcbcc
|
Generate load instructions.
|
2019-07-23 15:23:26 -04:00 |
|
Rob Rix
|
0d530dc078
|
Sort the recursive generators.
|
2019-07-23 15:22:12 -04:00 |
|
Rob Rix
|
4bd2129511
|
Lower the precedence in lambda bodies.
|
2019-07-23 15:20:20 -04:00 |
|
Rob Rix
|
8e5c2163b8
|
Correct the precedence of recursive bindings.
|
2019-07-23 15:19:59 -04:00 |
|
Rob Rix
|
308066fbb1
|
Generate recursive bindings.
|
2019-07-23 15:18:04 -04:00 |
|
Rob Rix
|
e03236d301
|
Generate assignments.
|
2019-07-23 15:15:55 -04:00 |
|
Rob Rix
|
068941e3e1
|
Correct the precedence of if/then/else and lambda.
|
2019-07-23 15:12:41 -04:00 |
|
Rob Rix
|
9ccd11ef09
|
ifthenelse and lambda bind looser than assignment.
|
2019-07-23 15:10:51 -04:00 |
|
Rob Rix
|
08878f1a18
|
assign binds looser than application.
|
2019-07-23 15:07:21 -04:00 |
|
Rob Rix
|
59af553279
|
Recur via expr.
|
2019-07-23 15:05:46 -04:00 |
|
Rob Rix
|
d1671a6d7c
|
Rename prj to projection.
|
2019-07-23 15:02:24 -04:00 |
|
Rob Rix
|
b700740174
|
Split out a rule for application.
|
2019-07-23 15:02:05 -04:00 |
|
Rob Rix
|
b58ddb470b
|
Projections are lvalues.
|
2019-07-23 15:01:25 -04:00 |
|
Rob Rix
|
76eb3e2154
|
Pretty-print with mandatory precedence handling.
|
2019-07-23 15:00:32 -04:00 |
|
Rob Rix
|
5b682606bc
|
inParens wraps a Doc, not an action.
|
2019-07-23 12:34:10 -04:00 |
|
Rob Rix
|
99668a33a1
|
Don’t set the precedence recursively.
|
2019-07-23 12:31:35 -04:00 |
|
Rob Rix
|
edbea6991c
|
Indentation.
|
2019-07-23 12:27:24 -04:00 |
|
Rob Rix
|
56d40daef4
|
Rename with to withPrec.
|
2019-07-23 12:26:25 -04:00 |
|
Rob Rix
|
96127627f6
|
Define Prec as a newtype.
|
2019-07-23 12:24:45 -04:00 |
|
Rob Rix
|
3da182dcec
|
Comma-separate records.
|
2019-07-23 12:12:02 -04:00 |
|
Rob Rix
|
453b898581
|
Use colons to separate keys & values.
|
2019-07-23 12:10:24 -04:00 |
|
Rob Rix
|
47b43cf009
|
Don’t pad empty records.
|
2019-07-23 12:08:28 -04:00 |
|
Rob Rix
|
a96eadb620
|
Nest & align recursive bindings.
|
2019-07-23 12:07:08 -04:00 |
|
Rob Rix
|
b119712c53
|
Avoid redundant nesting of statements.
|
2019-07-23 12:03:19 -04:00 |
|
Rob Rix
|
6b250c723e
|
Pretty-print variables early.
|
2019-07-23 11:46:06 -04:00 |
|
Rob Rix
|
7b290632e5
|
🔥 bind.
|
2019-07-23 11:43:38 -04:00 |
|
Rob Rix
|
0045283378
|
Define unstatements using un.
|
2019-07-23 11:40:01 -04:00 |
|
Rob Rix
|
1e4315736f
|
Pass the index to un/unEither’s argument.
|
2019-07-23 11:38:48 -04:00 |
|
Rob Rix
|
6aa85afa76
|
Simplify un/unEither to not assume a Monad.
|
2019-07-23 11:37:38 -04:00 |
|
Rob Rix
|
fa9c991320
|
Define an eliminator for blocks of statements.
|
2019-07-23 11:30:14 -04:00 |
|
Rob Rix
|
6050b9594d
|
Define an eliminator for statements.
|
2019-07-23 11:18:21 -04:00 |
|
Rob Rix
|
16413e1e5b
|
Define a couple of functions for taking apart sequences of syntax.
|
2019-07-23 11:15:47 -04:00 |
|