Commit graph

2562 commits

Author SHA1 Message Date
Chad Stearns
b76033525f Fix memory with with List.repeat creating large lists, and fix problem with List.repeat operating on empty lists with real layout 2020-07-05 15:45:28 -04:00
Folkert
a0d39ff10f accept a newline and body when patterns are different 2020-07-05 18:34:28 +02:00
Richard Feldman
250fcd1fb0 Start at the last element in the list 2020-07-05 09:06:02 -04:00
Richard Feldman
261f252f06 Reproduce List.reverse code gen crash 2020-07-05 08:57:16 -04:00
Richard Feldman
e0a8d12428 Drop unused elem_bytes declaration 2020-07-04 22:56:23 -04:00
Richard Feldman
563436e6be Try using list_len over len 2020-07-04 22:56:23 -04:00
Richard Feldman
4cd9b72859
Merge branch 'trunk' into list-reverse 2020-07-04 22:56:07 -04:00
Richard Feldman
f442cec2da Fix test_load 2020-07-04 22:20:43 -04:00
Richard Feldman
4edd40887a Fix solve_uniq_expr tests 2020-07-04 22:18:35 -04:00
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