Commit graph

14474 commits

Author SHA1 Message Date
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