Commit graph

4668 commits

Author SHA1 Message Date
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
Ayaz Hafiz
204ac2f8b4
Consolidate mono test behavior in debug and release modes
Makes sure that we turn on `debug-symbols` in mono tests, and that this
feature is fully respected in symbol generation, so that output in
release + debug builds are the same.

Closes #4435
2022-11-02 15:04:47 -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
a8fcc8b107
Merge branch 'main' of github.com:roc-lang/roc into fix-nix-packaging-macos 2022-11-02 17:51:39 +01: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
Brian Hicks
db8955d6b5
examine PATH instead of calling which 2022-11-01 22:00:18 -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
Richard Feldman
2f7634a71c
Fix repl tests 2022-11-01 22:07:48 -04:00
Richard Feldman
e2451c7f22
Drop the gray lines from the repl 2022-11-01 22:05:47 -04:00
Richard Feldman
1499ec5def
Drop termline dependency 2022-11-01 21:42:08 -04: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
Richard Feldman
19ffa61f8f
Add a gray line after each repl output 2022-11-01 15:57:22 -04:00
Ayaz Hafiz
4b549ab24e
Apply clippy suggestions 2022-11-01 12:37:10 -05:00
Ayaz Hafiz
1d73560182
Add some more tests 2022-11-01 12:16:11 -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
62edf9547e
Better printing of list patterns 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
Ayaz Hafiz
08d04e8c79
Update reporting tests 2022-11-01 12:06:59 -05:00
Ayaz Hafiz
92a3c48ce5
Implement sketching and pattern specialization for list patterns 2022-11-01 12:06:59 -05:00
Ayaz Hafiz
fbdf76e490
Report type errors in list pattern matches 2022-11-01 12:06:59 -05:00
Ayaz Hafiz
f9cb71fcf7
Report list element pattern type mismatches 2022-11-01 12:06:59 -05:00
Ayaz Hafiz
283f6e8e1e
Give localized region for expected list elem pattern 2022-11-01 12:06:59 -05:00
Anton-4
d7759bad16
Merge branch 'main' of github.com:roc-lang/roc into windows-tests 2022-11-01 17:27:51 +01:00
Ayaz
cb61f51814
Merge pull request #4441 from roc-lang/can-list-patterns
Canonicalization + Constraining of list patterns
2022-11-01 09:13:08 -05:00
Anton-4
05d48ec5d4
fixed macos retry zig 2022-11-01 09:32:36 +01:00
Brian Carroll
9ebf934ee7
Merge pull request #4444 from roc-lang/windows-cli-tests
Windows cli tests
2022-11-01 06:43:23 +00:00
Richard Feldman
fb799d1d24
clippy 2022-11-01 01:27:15 -04:00
Richard Feldman
211a5adcf6
fix a test 2022-11-01 01:26:22 -04:00
Richard Feldman
afa88bfd41
Don't shadow unnecessarily 2022-11-01 01:24:58 -04:00
Richard Feldman
560c984d30
Fix error filtering region math 2022-11-01 01:20:52 -04:00