Commit graph

2076 commits

Author SHA1 Message Date
Luke Boswell
f3bdb5f321
updating rust package documentation 2022-11-03 20:00:06 +11:00
Ayaz Hafiz
d114d410cb
Compile expect conditions with bool type, not continuation type 2022-11-02 16:02:39 -05:00
Ayaz Hafiz
a9bdbc968f
Fix constraining 2022-11-02 15:08:10 -05:00
Ayaz Hafiz
d811fa8e5a
Decloning party 2022-11-02 15:06:03 -05:00
Ayaz Hafiz
5ea9b145f6
More coalescing 2022-11-02 15:05:43 -05:00
Ayaz Hafiz
ef509ecc97
Inline variable 2022-11-02 15:05:43 -05:00
Ayaz Hafiz
2e07cc6c14
More signature coalescing 2022-11-02 15:05:43 -05:00
Ayaz Hafiz
2be70e6524
Even more coalescing of signatures 2022-11-02 15:05:42 -05:00
Ayaz Hafiz
4bd77250c7
Coalesce one signature type 2022-11-02 15:05:42 -05:00
Ayaz Hafiz
e0a2139b1e
Coalesce even more annotation types 2022-11-02 15:05:42 -05:00
Ayaz Hafiz
a6889a4f6d
Coalesce annotation in typed function constraining 2022-11-02 15:05:42 -05:00
Ayaz Hafiz
6c4722fe1c
Coalesce signatures in destructure constraining 2022-11-02 15:05:42 -05:00
Ayaz Hafiz
b8b0d4f028
Inline a variable 2022-11-02 15:05:42 -05:00
Ayaz Hafiz
f7724a7df3
Update derive tests 2022-11-02 15:05:42 -05:00
Ayaz Hafiz
951724f476
Coalesce another signature 2022-11-02 15:05:41 -05:00
Ayaz Hafiz
a589fbb9e7
Coalesce return type annotation in function def constraining 2022-11-02 15:05:41 -05:00
Ayaz Hafiz
db9b29f0c8
Coalesce signatures in function def constraining 2022-11-02 15:05:41 -05:00
Ayaz Hafiz
ce7648b344
Coalesce type signature vars in typed def constraining 2022-11-02 15:05:41 -05:00
Ayaz Hafiz
3362763e45
Coalesce signature types in value def constraining 2022-11-02 15:05:41 -05:00
Ayaz Hafiz
34cd1fb825
Pattern expectation takes a type index 2022-11-02 15:05:40 -05:00
Ayaz Hafiz
cbd014a98a
let_import_constraint take a type index 2022-11-02 15:05:23 -05:00
Ayaz Hafiz
2a4fca7034
First pass at expectations taking a type index 2022-11-02 15:05:22 -05:00
Ayaz Hafiz
6dc6386f77
DefTypes store slices into type indeces 2022-11-02 15:05:01 -05:00
Ayaz Hafiz
cbade622b6
exhaustive expects type index 2022-11-02 15:05:01 -05: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
27a08041e0
Merge pull request #4454 from roc-lang/list-decision-tree-fixes
Minor cleanup and off-by-one fix for list decision trees
2022-11-02 13:21:30 -05:00
Anton-4
85ce321c4d
Merge pull request #4347 from roc-lang/benchmarks-to-nix
moved earthly benchmarks to nix
2022-11-02 14:36:20 +01:00
Ayaz Hafiz
fc52e9582e
Fix an off-by-one modelling 2022-11-01 22:42:52 -05:00
Ayaz Hafiz
63abc4096d
Remove stale TODOs 2022-11-01 22:36:52 -05:00
Richard Feldman
ecbb8be61d
Merge pull request #4448 from roc-lang/list-patterns-decision-tree
Decision tree compilation of list pattern matches
2022-11-01 19:26:54 -07: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
Folkert de Vries
190a3c2a6f
Merge pull request #4124 from roc-lang/windows-tests
WIP windows: build tests, run some tests
2022-11-01 22:32:55 +01:00
Ayaz Hafiz
2d20c3b339
Allow too many args 2022-11-01 15:42:24 -05:00
Ayaz Hafiz
822aa71a0a
Compute list element stores lazily 2022-11-01 15:37:36 -05:00
Ayaz Hafiz
27b9dd8253
Simplify arity and branching calculation 2022-11-01 15:33:23 -05:00
Ayaz Hafiz
0706615d29
Decision tree compilation of suffixed list patterns 2022-11-01 15:22:31 -05:00
Ayaz Hafiz
b0edcc9af4
Add base gen tests for list matching compilation 2022-11-01 15:22:31 -05:00
Ayaz Hafiz
45f7cd5ad7
Make sure to update path of matched list 2022-11-01 15:22:31 -05:00
Ayaz Hafiz
ae71c7efe2
Decision tree compilation of list patterns 2022-11-01 15:22:31 -05:00
Ayaz
da1d937277
Merge pull request #4352 from roc-lang/i4349
Support monomorphic captures of body-polymorphic expressions in closures
2022-11-01 15:21:30 -05:00
Ayaz
0f4420e85e
Merge pull request #4447 from roc-lang/list-patterns-exhaustiveness
Exhaustiveness checking for list pattern matches
2022-11-01 15:19:42 -05:00
Folkert de Vries
b143183ba8
Merge pull request #4442 from roc-lang/better_errors
centralized commands, better errors, link build command refactoring
2022-11-01 21:10:37 +01: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
f696e8dd29
Clarify comment 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
99a4e21618
Improve exhaustiveness checking heuristics for list patterns 2022-11-01 12:07:00 -05:00
Ayaz Hafiz
a58d128d9e
Cover mode when unifying variable slices 2022-11-01 12:06:59 -05:00