Brendan Hansknecht
bf7be1533b
fix indexing
2023-11-20 21:09:12 -08:00
Ayaz Hafiz
f72b8c2c30
Specialize polymorphic lists against non-polymorphic ones
2023-11-20 21:09:11 -08:00
Brendan Hansknecht
37a8bbd87c
correct list pattern match checking to add extra anythings for patterns with rest
2023-11-20 21:09:11 -08:00
Ayaz Hafiz
b706a57e16
Update LSP
2023-10-25 17:14:33 -05:00
Ayaz Hafiz
9d365a8a57
Support basic diagnostic reporting
2023-10-25 17:14:32 -05:00
Folkert
8e9cf121ad
rust 1.71 clippy fixes
2023-07-25 10:46:46 +02:00
Brendan Hansknecht
f42f61e271
run a toml formatter and then clean it up a bit
2023-03-06 19:47:57 -08:00
Brendan Hansknecht
4a89bee0a5
centralize package versions except for vendor and excluded
2023-03-06 19:29:09 -08:00
Brendan Hansknecht
5485c8a5b0
update to using workspace package spec
2023-03-06 16:36:18 -08:00
Joshua Warner
5a6be05ead
implement mono / lowering for tuples
2023-02-07 18:54:50 -08:00
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