Commit Graph

218 Commits

Author SHA1 Message Date
Richard Feldman
80d3eca7f3 add commented-out parse error reproduction 2020-02-19 18:19:43 -08:00
Richard Feldman
8113c085df Reproduce function arg parsing bug 2020-02-06 22:07:21 -05:00
Richard Feldman
cd12944063 Merge remote-tracking branch 'origin/trunk' into symbols 2020-02-01 22:56:04 -05:00
Richard Feldman
a746f4d5d6 Have RecordDestructure store a slice 2020-01-30 23:45:17 -05:00
Richard Feldman
9ca0c25c2f Add failing test for parsing Alias 2020-01-30 23:45:17 -05:00
Richard Feldman
7482265139 Fix test compilation errors 2020-01-28 22:12:39 -05:00
Chad Stearns
5a85aeff3f Cargo format 2020-01-26 23:47:54 -05:00
Chad Stearns
a40bfef1e3 Refactored when guard to be after branch alternatives, and not per alternative (just like Rust) 2020-01-26 23:34:53 -05:00
Chad Stearns
3d2cc240c4 Removed when-guard 2020-01-26 18:49:13 -05:00
Richard Feldman
2650520743 Merge remote-tracking branch 'origin/trunk' into parse-recursive-tags 2020-01-22 00:38:14 -05:00
Richard Feldman
5e26ca7264 Reorganize builtin constants 2020-01-21 21:32:55 -05:00
Chad Stearns
ed17d59743 cargo fmt 2020-01-19 21:53:15 -05:00
Chad Stearns
f7d6230c3e Comply with clippy and use struct instead of tuple 2020-01-19 21:47:02 -05:00
Chad Stearns
89964f9e66 Resolving conflicts with trunk 2020-01-19 16:37:58 -05:00
Chad Stearns
146583e7c6 When branches have a guard 2020-01-19 14:17:14 -05:00
Richard Feldman
dc9398714b Reproduce incorrect As parsing 2020-01-19 11:17:21 -05:00
Richard Feldman
99188cfa36 Reproduce tag in annotation parsing bug 2020-01-18 18:45:05 -05:00
Richard Feldman
a4e238b09c Merge remote-tracking branch 'origin/trunk' into case-multi-patterns 2020-01-11 13:10:09 -05:00
Folkert
dd240cf53a typecheck tags with arguments
also fixes an issue where private tags in patterns would not have the @ symbol in their name
2020-01-09 13:20:21 +01:00
Richard Feldman
865fd41cdd Fix comment 2020-01-08 22:15:36 -05:00
Stoeffel
150b75721c allow alternatives on all branches. 2020-01-08 12:58:40 +01:00
Stoeffel
a98113c88d don't use a tuple to ensure non-emptiness 2020-01-08 11:05:53 +01:00
Stoeffel
4fce01b57a separate test for alternatives in branch 2020-01-08 09:34:27 +01:00
Stoeffel
505effd1d9 basic parsing of alternative cases in when .. in 2020-01-08 08:53:48 +01:00
Stoeffel
3a1d905b66 one or more patterns in branches
Modify ast to allow mutliple pattern per branch in when.

  when animal is
    Dog x | Fox x => "bark"
    Cat x => "miau"
2020-01-08 06:39:25 +01:00
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
ca302cf17c Format out some newlines 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
df4e1c250e Reproduce failing tag pattern 2020-01-05 14:20:48 -05:00
Richard Feldman
7fa77e1060 Test parsing record updates 2020-01-05 00:36:49 -05:00
Richard Feldman
748d57f523 Parse record updates 2020-01-05 00:36:49 -05:00
Richard Feldman
56df170be6 Reproduce parsing failure on [ ] 2019-12-31 20:20:58 -05:00
Chad Stearns
844ca0a50e Changed instances of 'Case' in the code to 'When' 2019-12-23 17:41:19 -05:00
Chad Stearns
62a004c103 Case is to when is 2019-12-23 17:17:04 -05:00
Chad Stearns
9a5b6a03b4 case when to case is 2019-12-23 17:08:53 -05:00
Richard Feldman
d0fa8bf857 Use commas between function arguments 2019-12-18 21:50:45 -05:00
Richard Feldman
d73b8ca1fc Remove UnqualifiedIdent 2019-12-16 21:29:03 -05:00
Folkert
35c8b9b5c9 Parse function type signatures 2019-12-13 22:52:49 +01:00
Folkert
502021d955 Always parse type signatures in let blocks.
Formerly, this would not parse

    foo : Int
    foo = 4

While this would

    bar = 3
    foo : Int
    foo = 4

Now, the first def can also be a type annotation.

This change performs some code duplication. This can probably be
abstracted/unified, but I'm not sure how to do that in a clean way.
2019-12-13 19:53:46 +01:00
Richard Feldman
37422c6a76 Add failing tests for hex/octal/binary 2019-12-07 02:26:08 -05:00
Richard Feldman
ba92480d97 Reorganize can/ module 2019-12-05 19:51:56 -05:00
Richard Feldman
b3bdbd9d98 Reproduce subtraction parsing bug 2019-12-05 19:31:10 -05:00
Richard Feldman
59dc729209 Fix unicode parsing bug. 2019-12-04 21:29:50 -05:00
Richard Feldman
1d18f4cc85 Use private/global tags and Access over Field 2019-12-02 18:36:59 -05:00
Richard Feldman
be1e83dd6d Use crate:: prefix a bunch. 2019-11-27 22:11:40 -05:00
Richard Feldman
b2e19ffe72 Reproduce failing module_defs parse 2019-11-27 21:14:22 -05:00
Richard Feldman
145d985c2d Add failing test for nested module parsing 2019-11-27 17:21:08 -05:00
Richard Feldman
4926bfbc3a Reorganize fmt and module 2019-11-25 20:42:44 -05:00