Folkert
c9aedff3e8
glue getters in mono
2022-11-02 21:36:32 +01: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
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
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
Richard Feldman
50d9755758
Merge pull request #4429 from austinclem1/main
...
add missing indent when formatting single-quoted char in pattern
2022-10-31 17:56:06 -07:00
Richard Feldman
5e00522a47
Merge pull request #4443 from joshuawarner32/move-min_indent-to-parse-pr
...
Refactor Parser trait to pass min_indent
2022-10-31 17:46:05 -07:00
Ayaz Hafiz
9ab5d0efb8
Constraining of list patterns
2022-10-31 17:05:08 -05:00
Ayaz Hafiz
b0a8b85de3
Canonicalization of list patterns
2022-10-31 17:04:47 -05:00
Anton-4
4ec43d9964
Closes #4423 , link build command refactoring
2022-10-31 21:32:38 +01:00
Joshua Warner
07be8ec000
Refactor Parser trait to pass min_indent
...
This removes the need to explicitly pass thru min_indent when using the parser combinators.
My ultimate goal here is to evolve the current parser closer toward a purely combinator-based parser,
at which point we can more easily transition smoothly to a formal(ish) grammar, or expand the meanings of combinators
to include things like:
* Incremental (re)parsing
* Unified parsing and formatting code
* Better error recovery
* Using the main parser directly for syntax highlighting
2022-10-31 13:31:47 -07:00
Ayaz Hafiz
5e891a3501
Add comment on when heuristic can be removed
2022-10-31 09:48:25 -05:00
Ayaz Hafiz
04e8e26faf
Fix env var typo
2022-10-31 09:46:07 -05:00
Ayaz Hafiz
bb02104436
Fix typo
2022-10-31 09:44:22 -05:00
Ayaz Hafiz
b3956569a6
Add comment on inlining
2022-10-31 09:43:28 -05:00
Ayaz Hafiz
07f5d0c7fd
Clarify TODO
2022-10-31 09:39:29 -05:00
Ayaz Hafiz
a526fd92aa
inferred extension vars are material if they're not flex or empty
2022-10-31 09:38:22 -05:00
Ayaz Hafiz
4f367e2608
Clippers lose to the Thunder, I lose to Clippy
2022-10-31 09:38:22 -05:00
Ayaz Hafiz
9854f5f2ac
Print alias's underlying structures if OIOP vars are material
2022-10-31 09:38:22 -05:00
Ayaz Hafiz
e1b6e0334b
Generate OIOP vars correctly
2022-10-31 09:38:22 -05:00
Ayaz Hafiz
bedb26124d
Update load tests
2022-10-31 09:38:21 -05:00
Ayaz Hafiz
debe6332c5
Support OIOP for type aliases
2022-10-31 09:38:21 -05:00