Richard Feldman
3509390761
Test open tag union annotations
2020-01-06 21:36:38 -05:00
Richard Feldman
cdf98c21e9
Add tests for parsing tag annotations
2020-01-06 21:36:38 -05:00
Richard Feldman
2071595287
Un-qualify TypeAnnotation in tests
2020-01-06 21:36:38 -05:00
Richard Feldman
f00bf354aa
Update private tag test
2020-01-06 21:36:38 -05:00
Richard Feldman
ca302cf17c
Format out some newlines
2020-01-06 21:36:38 -05:00
Richard Feldman
fd539360bc
Fix private tag parsing bug
2020-01-06 21:36:38 -05:00
Richard Feldman
2eb7108faa
Reproduce private tag parsing bug
2020-01-06 21:36:38 -05:00
Richard Feldman
0c8f1633e1
Rename parse_into to parse_ident
2020-01-06 21:36:38 -05:00
Folkert
9c8e316135
add failing private tag application
...
Private tags are not currently parsed in applications, so in this case parsing fails after `@Foo`
2020-01-06 21:36:38 -05:00
Richard Feldman
216299949b
Silence a clippy warning
2020-01-06 21:36:38 -05:00
Richard Feldman
e8f1273947
Fix tag union and record annotation parsing
2020-01-06 21:36:38 -05:00
Richard Feldman
3ce46ead2d
Remove OptionalField from AST
2020-01-06 21:36:38 -05:00
Richard Feldman
89094e6a3f
Merge pull request #115 from rtfeldman/record-update-format
...
Record update formatting
2020-01-06 21:36:15 -05:00
Chadtech
523fef7232
Merge branch 'trunk' into cohere-comment-formatting
2020-01-06 20:49:37 -05:00
Richard Feldman
eb37bbb7be
Merge branch 'trunk' into record-update-format
2020-01-06 20:49:08 -05:00
Richard Feldman
085016fd0a
Merge pull request #120 from rtfeldman/constrain-if
...
Constrain if
2020-01-06 20:48:55 -05:00
Folkert
9e3ed67781
implement the full simplifier
2020-01-07 02:08:01 +01:00
Folkert
bdd9df0960
make tests compile (they fail on a panic!
2020-01-07 00:10:51 +01:00
Folkert
e899ca289a
a lot more logic simplification stuff
2020-01-06 23:53:29 +01:00
Folkert
ac42117e10
rewrite boolean_algebra
...
This is based on code I got from Edsko de Vries
2020-01-06 20:30:06 +01:00
Folkert
c665eccf11
remove Output from uniq infer
2020-01-06 17:03:31 +01:00
Folkert
ab54e8ad29
rename functions to constrain_*
2020-01-06 16:28:59 +01:00
Folkert
864aefb925
constrain If
2020-01-06 14:46:02 +01:00
Folkert
6ab1ea731b
canonicalize if
2020-01-06 13:36:59 +01:00
Folkert de Vries
fd9da9176d
Merge pull request #116 from rtfeldman/tag-unions
...
constrain Tag Unions
2020-01-06 13:24:36 +01:00
Folkert
3cef9e88d3
remove out-of-date comment
2020-01-06 13:14:55 +01:00
Chad Stearns
81f4f232f7
All if comment test cases work
2020-01-06 03:06:23 -05:00
Chad Stearns
a2566d85ff
Remove new lines after comment appears, and remove new line before else case
2020-01-06 00:27:28 -05:00
Richard Feldman
5d1afbd7b0
s/open record/open tag union in a couple places
2020-01-06 00:21:40 -05:00
Folkert
fe35e99518
remove If desugaring
...
To generate good error messages, this needs to happen after type checking. Otherwise we can get weird things like
if Foo then 1 else 0
Giving some error that the `Foo` tag is not covered in a pattern match.
2020-01-06 00:56:50 +01:00
Folkert
1211686797
canonicalize PrivateTag and If
...
not totally sure about the if, because we lose information that may be helpful for good error messages. Still it was fun to implement.
PrivateTag can be matched on, but can't currently be applied (an issue with parsing)
2020-01-06 00:44:49 +01:00
Chad Stearns
79d94eee6d
Multi line def tests that are not working
2020-01-05 17:08:46 -05:00
Folkert
5ad2823a23
support Tag arguments
2020-01-05 22:49:08 +01:00
Chad Stearns
562f430eef
Cargo fmt
2020-01-05 16:35:34 -05:00
Chad Stearns
b3bce7b0c4
Record updating format
2020-01-05 16:34:34 -05:00
Folkert
1d5ceeafe4
constraint Tag patterns
2020-01-05 21:37:06 +01:00
Folkert
26bd52c2a2
scaffolding for tag unions
2020-01-05 20:54:34 +01:00
Richard Feldman
1706e24fd1
Merge pull request #114 from rtfeldman/tag-patterns
...
Fix parsing global tag patterns
2020-01-05 14:36:04 -05:00
Richard Feldman
2eb6fb2046
Reuse tag_pattern()
2020-01-05 14:20:48 -05:00
Richard Feldman
b175e10678
Fix global_tag parser
2020-01-05 14:20:48 -05:00
Richard Feldman
df4e1c250e
Reproduce failing tag pattern
2020-01-05 14:20:48 -05:00
Richard Feldman
7360631c46
Merge pull request #113 from rtfeldman/gen-functions
...
Generate functions in LLVM
2020-01-05 10:47:45 -05:00
Richard Feldman
72e3ac97b4
Add a comment for printing LLVM IR
2020-01-05 10:16:29 -05:00
Richard Feldman
3da8f948f5
Init execution engine later in test
2020-01-05 10:16:29 -05:00
Richard Feldman
ccefec4225
Generate LLVM functions
2020-01-05 10:16:29 -05:00
Richard Feldman
9e76cd03ae
Merge pull request #108 from rtfeldman/record-update
...
Record update
2020-01-05 10:16:22 -05:00
Folkert
18f8c61e02
record update for uniq infer
2020-01-05 15:57:22 +01:00
Folkert
9e94241045
add test case for record update
...
fix bug in record unification: im-rs difference is symmetric, while in haskell it is asymmetric
2020-01-05 15:48:20 +01:00
Folkert
a3de55d24d
remove unused function
2020-01-05 13:59:15 +01:00
Folkert de Vries
62f758fca0
Merge pull request #110 from rtfeldman/parse-rec-update
...
Parse record updates
2020-01-05 13:54:37 +01:00