Commit graph

7453 commits

Author SHA1 Message Date
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