Commit graph

9048 commits

Author SHA1 Message Date
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
Richard Feldman
7fa77e1060 Test parsing record updates 2020-01-05 00:36:49 -05:00
Richard Feldman
e4e4982709 Follow clippy's suggestion 2020-01-05 00:36:49 -05:00
Richard Feldman
3dd498fdd6 Fix typo in comment 2020-01-05 00:36:49 -05:00
Richard Feldman
cdd1615fdf Update roc-for-elm-programmers 2020-01-05 00:36:49 -05:00
Richard Feldman
216fe81028 Fix bug in optional parser 2020-01-05 00:36:49 -05:00
Richard Feldman
748d57f523 Parse record updates 2020-01-05 00:36:49 -05:00
Richard Feldman
b7e0504def Drop unused module 2020-01-05 00:36:49 -05:00
Richard Feldman
3489ea1c8a
Merge branch 'trunk' into record-update 2020-01-05 00:36:25 -05:00
Richard Feldman
bb07f69f23
Merge pull request #111 from rtfeldman/ci
Combine CI steps
2020-01-05 00:36:02 -05:00
Richard Feldman
6592047af2 Combine CI steps 2020-01-05 00:22:03 -05:00
Richard Feldman
673cc78380
Merge pull request #109 from rtfeldman/ll
Introduce `ll` module
2020-01-05 00:10:58 -05:00
Richard Feldman
18f011ae5a Do clippy stuff 2020-01-05 00:02:44 -05:00
Richard Feldman
fe96adaafb Temprorarily drop fn verification and build_proc 2020-01-05 00:02:44 -05:00
Richard Feldman
6c3201b229 Fix single when-expr branch case 2020-01-05 00:02:44 -05:00
Richard Feldman
b02422147d Add test for 1 when-expr branch 2020-01-05 00:02:44 -05:00
Richard Feldman
7bd0c5b591 Revert "Re-enable load tests"
This reverts commit 743e82b57c2828d7da3a2621a34cf0a076af7635.
2020-01-05 00:02:44 -05:00
Richard Feldman
e848f0e242 Re-enable load tests 2020-01-05 00:02:44 -05:00
Richard Feldman
55e4ce1134 Introduce ll module 2020-01-05 00:02:44 -05:00
Richard Feldman
297c9f567a Fix a doc error 2020-01-05 00:02:44 -05:00
Richard Feldman
4bc72454b4 Revert "Try returning Procs"
This reverts commit 21142def653336a3cb32b6f22d8a9f94523da3f3.
2020-01-05 00:02:44 -05:00
Richard Feldman
79b1431703 Try returning Procs 2020-01-05 00:02:44 -05:00
Richard Feldman
7d3d432c61 Code gen basic functions 2020-01-05 00:02:44 -05:00
Richard Feldman
f076c4f386
Merge pull request #107 from rtfeldman/ct/multi-line-list
Multi line list
2020-01-05 00:02:36 -05:00
Folkert
ccf66ab07c implement record update constraining 2020-01-05 01:04:32 +01:00
Chad Stearns
4e903c969a Chaned indent on a few tests 2020-01-04 17:54:58 -05:00
Chad Stearns
bc078ce108 Made fmt_list function to make clippy happy 2020-01-04 17:53:41 -05:00