Commit graph

18 commits

Author SHA1 Message Date
Ayaz Hafiz
39f89e3d65
Get severity from type problem variants 2022-12-02 14:11:58 -06:00
Luke Boswell
d702e391b8
resolve feedback, added compiler stages diagram 2022-11-06 09:15:18 +11:00
Luke Boswell
f3bdb5f321
updating rust package documentation 2022-11-03 20:00:06 +11:00
Folkert de Vries
c4016547af
Merge pull request #4450 from roc-lang/simpl-exhaustiveness
Simplify constructor recovery
2022-11-02 19:32:40 +01:00
Ayaz Hafiz
666f0f8a52
Simplify constructor recovery
This fixes a bug in the list pattern matching code that caused crashes
in the presence of list guards, and simplifies the pattern splitting
algorithm to avoid complexity and allocations. Previously we would place
arguments-to-be-matched of constructors and lists at the front of
specialized rows for exhaustiveness checking, but at the back for
redundancy checking. Now, we always place them at the back - this avoids
needless allocation, and is not any worse, since we can still recover
the non-exhaustive witnesses by looking at the end of a list, instead of
the front.
2022-11-01 17:47:22 -05:00
Ayaz Hafiz
27b9dd8253
Simplify arity and branching calculation 2022-11-01 15:33:23 -05:00
Ayaz Hafiz
ae71c7efe2
Decision tree compilation of list patterns 2022-11-01 15:22:31 -05:00
Ayaz Hafiz
4b549ab24e
Apply clippy suggestions 2022-11-01 12:37:10 -05:00
Ayaz Hafiz
56bf50c331
Improve list pattern matching documentation 2022-11-01 12:07:00 -05:00
Ayaz Hafiz
7652ea2828
Add more documentation 2022-11-01 12:07:00 -05:00
Ayaz Hafiz
342f9f2e02
Add correct redundancy checking and tests for list patterns 2022-11-01 12:07:00 -05:00
Ayaz Hafiz
17920911e4
Implement list exhaustiveness checking 2022-11-01 12:07:00 -05:00
Ayaz Hafiz
92a3c48ce5
Implement sketching and pattern specialization for list patterns 2022-11-01 12:06:59 -05:00
Ayaz Hafiz
0f0e414272
Improve error message for uninhabited patterns 2022-09-19 10:55:02 -05:00
Ayaz Hafiz
ac752adc7c
Check in some more work 2022-09-16 16:09:21 -05:00
Folkert
6aa168ee0b
more various clippy fixes 2022-08-21 16:43:58 +02:00
Anton-4
6a15a7b41b
changed Cargo versions from 0.1.0 to 0.0.1 2022-08-03 11:41:19 +02:00
Anton-4
eee85fa45d
moved all crates into seperate folder + related path fixes 2022-07-01 17:37:43 +02:00