Richard Feldman
73d920e96f
Restore uniq::sharing
2020-07-04 22:13:04 -04:00
Chad Stearns
4e7f40ab0f
Evaluate if the list to be reversed has a length greater than 0, and match on the layout type EmptyList. We need to do both
2020-07-04 19:45:46 -04:00
Chad Stearns
5fda2de4f2
Merge branch 'trunk' of github.com:rtfeldman/roc into list-reverse
2020-07-04 18:12:06 -04:00
Chad Stearns
78fc5d2fec
List append symbol and partial implementation
2020-07-04 18:11:57 -04:00
Folkert
b7d689226c
cover all parsed patterns with an error message
...
but, some invalid patterns are not parsed as expected. See https://github.com/rtfeldman/roc/issues/399
2020-07-04 20:39:49 +02:00
Folkert
0c7a4179aa
report malformed int and float patterns
2020-07-04 20:29:37 +02:00
Richard Feldman
06c05e5e9b
Try using inlining in test_usage_analysis
2020-07-04 14:26:05 -04:00
Richard Feldman
8665f23a29
Inline LetRec and LetNonRec
2020-07-04 10:57:20 -04:00
Richard Feldman
319da4141e
Fix some inlining logic
2020-07-04 10:35:37 -04:00
Richard Feldman
426531cf59
Add a TODO to can_inline
2020-07-04 10:23:14 -04:00
Richard Feldman
1926adb543
Fix inlining and test
2020-07-04 10:23:01 -04:00
Richard Feldman
3e5627689f
Add basic inline function and a failing test
2020-07-04 10:22:55 -04:00
Richard Feldman
6a38e8b2de
Merge remote-tracking branch 'origin/trunk' into inline-builtins
2020-07-03 23:38:15 -04:00
Richard Feldman
fe63ad394e
Add a TODO to can_inline
2020-07-03 23:22:39 -04:00
Richard Feldman
99676b6e57
Merge branch 'trunk' into fix-constrain-todos
2020-07-03 23:18:09 -04:00
Richard Feldman
053db8449a
Fix inlining and test
2020-07-03 23:16:32 -04:00
Richard Feldman
a1870457bf
Add basic inline function and a failing test
2020-07-03 21:36:51 -04:00
Chad Stearns
185617b822
Builtins readme with instructions on how to add a new builtin
2020-07-03 16:54:17 -04:00
Chad Stearns
4b663a93c0
Switched many tests
2020-07-03 15:14:30 -04:00
Chad Stearns
9147661e02
More comments for List.reverse
2020-07-03 15:14:21 -04:00
Chad Stearns
d66cf913a9
Refactored the phi2 away
2020-07-03 14:20:34 -04:00
Folkert
98ac988e99
use symbols instead of identifiers; prevents cloning
2020-07-03 19:23:58 +02:00
Folkert
667233a00d
report error for invalid alias argument patterns
2020-07-03 16:54:28 +02:00
Folkert
474d164a8c
fix some comments
2020-07-03 16:21:09 +02:00
Folkert
744b8ce32b
fix todos regarding InvalidCycle
2020-07-03 15:42:24 +02:00
Chad Stearns
fb7cbfdce4
LIST_REVERSE works, so long as the list is made up of ints equal to 1
2020-07-02 22:49:12 -04:00
Chad Stearns
7bd7e697b0
LIST_REVERSE works, so long as the list is made up of ints equal to 1
2020-07-02 22:39:58 -04:00
Chad Stearns
d8a8741aed
Merge branch 'trunk' of github.com:rtfeldman/roc into list-reverse
2020-07-02 21:33:24 -04:00
Chad Stearns
f409e1827b
Added LIST_REVERSE symbol and an untested implementation in build.rs
2020-07-02 21:33:15 -04:00
Richard Feldman
909b273083
Merge branch 'trunk' into annotation-def-match
2020-07-02 19:10:50 -04:00
Folkert
53c5297aac
cleanup comment
2020-07-02 23:26:24 +02:00
Folkert
0cfb16c7d5
implement canonicalization error when signature pattern does not match definition pattern.
2020-07-02 23:24:10 +02:00
Folkert
5c81b46d1c
remove clone
2020-07-02 23:22:55 +02:00
Folkert
a3c1788d48
Allelujah! Don't Trust! Assert!
2020-06-30 15:15:58 +02:00
Folkert
b89dc60d7e
cleanup comment
2020-06-30 15:09:15 +02:00
Folkert
36e6950daa
ensure VarId always encodes root var
...
otherwise variables with the same root, but different values would be different once imported in another module
2020-06-30 15:03:30 +02:00
Folkert
c589be43c6
fix triple (or more) mutualy recursive type aliases
2020-06-30 14:25:47 +02:00
Richard Feldman
1c16d0e776
Combine some imports
2020-06-30 07:55:25 -04:00
Folkert
5483ec819f
fix infinite unfolding of recursive tag union
2020-06-30 13:54:16 +02:00
Richard Feldman
f5bcfd4dc4
use std::collections::HashMap
2020-06-30 07:54:13 -04:00
Richard Feldman
d744567f76
Add can builtins for List.push and List.repeat
2020-06-29 22:25:58 -04:00
Richard Feldman
d7203be7ad
Use with_larger_debug_stack on gen_quicksort
2020-06-29 22:21:21 -04:00
Richard Feldman
38ab29ca3e
Fix test module names
2020-06-29 22:18:28 -04:00
Richard Feldman
010a03926e
Drop some duplicate type defs
2020-06-29 22:13:05 -04:00
Richard Feldman
dc4807bfcb
Add low-level ops for ListPush, ListRepeat
2020-06-29 22:10:46 -04:00
Richard Feldman
8c96d12661
Merge trunk
2020-06-29 22:10:46 -04:00
Folkert
b4480e212a
fix uniqueness attribute on nested recursive aliases
2020-06-29 17:08:39 +02:00
Folkert
e5ec7cbdcf
clippy
2020-06-29 00:18:50 +02:00
Folkert
3fc2323891
fix recursion bug
...
previously, `Cons 1 (Cons {} Nil)` would get inferred as ConsList Int, because only the outer layer of a tag union was checked with the recursive tag union. Now this is done continually.
2020-06-29 00:18:50 +02:00
Folkert
bd086e5c9b
fix rank issue for uniqueness
2020-06-29 00:18:50 +02:00