Richard Feldman
|
3eea2c934e
|
Fix an annotation formatting regression
|
2020-07-18 22:17:41 -04:00 |
|
Chad Stearns
|
6160a2b2f1
|
Moved first list empty case closer to where it is used
|
2020-07-18 22:14:09 -04:00 |
|
Richard Feldman
|
8644433158
|
Reporting for optional fields
|
2020-07-18 22:13:20 -04:00 |
|
Richard Feldman
|
588410395e
|
Monomorphize optional fields
|
2020-07-18 22:13:09 -04:00 |
|
Chad Stearns
|
cb92b477ea
|
Reverted fancy closure organization in List.append
|
2020-07-18 21:50:03 -04:00 |
|
Chadtech
|
36a259b56b
|
Merge branch 'trunk' into list-append
|
2020-07-18 21:30:51 -04:00 |
|
Chad Stearns
|
5b80bc0ae3
|
Use correct error messages for unreachable layouts
|
2020-07-18 21:30:24 -04:00 |
|
Chad Stearns
|
bc1c676be4
|
Fix english errors in documentation
|
2020-07-18 21:30:07 -04:00 |
|
Chad Stearns
|
04198c8895
|
Revert use of closure for if_first_list_is_empty due to memory problem
|
2020-07-18 21:24:19 -04:00 |
|
Chad Stearns
|
dc6f0daeef
|
Organized list append code into named closures
|
2020-07-18 21:06:00 -04:00 |
|
Chad Stearns
|
9881c91e1f
|
Pull some shared variables higher up
|
2020-07-18 17:37:19 -04:00 |
|
Richard Feldman
|
7330e82f75
|
Constrain optional fields
|
2020-07-18 14:51:18 -04:00 |
|
Chad Stearns
|
a37f6d670b
|
Re-implement loop on second input list to List.append, except use an offset pointer instead of doing second_index + first_list_len arithemtic, which is more performant
|
2020-07-18 14:43:06 -04:00 |
|
Chad Stearns
|
74bd85afaa
|
Remove phi1 helper
|
2020-07-18 14:42:11 -04:00 |
|
Richard Feldman
|
1bdfe578bd
|
Add some solving tests for optional fields
|
2020-07-18 14:33:25 -04:00 |
|
Richard Feldman
|
98a8bb8115
|
Fix unifying optional fields
|
2020-07-18 14:26:38 -04:00 |
|
Richard Feldman
|
eb3ee8ffa3
|
Fix a parse test
|
2020-07-18 13:51:04 -04:00 |
|
Richard Feldman
|
a05ebbf36b
|
Solve optional fields
|
2020-07-18 13:49:06 -04:00 |
|
Richard Feldman
|
8a2d6004ee
|
Constrain uniquness for optional fields
|
2020-07-18 13:45:12 -04:00 |
|
Richard Feldman
|
1409421de2
|
Constrain optional record fields
|
2020-07-18 13:45:12 -04:00 |
|
Richard Feldman
|
8fc9a450b3
|
Canonicalize optional record fields
|
2020-07-18 13:12:13 -04:00 |
|
Richard Feldman
|
ae05f0eb0c
|
Unify optional fields
|
2020-07-18 12:50:47 -04:00 |
|
Richard Feldman
|
8b53ec15fe
|
Change guard to DestructType
|
2020-07-18 12:42:04 -04:00 |
|
Richard Feldman
|
85f51ef39d
|
Introduce optional record fields
|
2020-07-18 12:31:17 -04:00 |
|
Richard Feldman
|
ca6881ab3e
|
Change the type of List.mapOrCancel
|
2020-07-18 11:12:12 -04:00 |
|
Richard Feldman
|
056c3362b5
|
Update List docs some more
|
2020-07-18 11:12:12 -04:00 |
|
Richard Feldman
|
e97b019ad2
|
Add initial List.roc
|
2020-07-18 11:12:12 -04:00 |
|
Richard Feldman
|
b544218a47
|
Update some Num docs
|
2020-07-18 11:12:12 -04:00 |
|
Richard Feldman
|
6ceacba99f
|
Drop obsolete Arr.roc
|
2020-07-18 11:12:12 -04:00 |
|
Richard Feldman
|
e37d53aff0
|
Merge branch 'trunk' into usage-analysis-improvements
|
2020-07-17 20:37:00 -04:00 |
|
Richard Feldman
|
f39b194d45
|
Update tests for new pattern regions
|
2020-07-17 19:49:27 -04:00 |
|
Richard Feldman
|
152e06186b
|
Reserved keywords can't be patterns
|
2020-07-17 19:49:27 -04:00 |
|
Richard Feldman
|
ef010d4dec
|
Fix parsing bug for malformed when-branches
|
2020-07-17 19:49:27 -04:00 |
|
Richard Feldman
|
6855c85002
|
Reproduce parsing bug with bad when-branches
|
2020-07-17 19:33:27 -04:00 |
|
Folkert
|
d27dcceef2
|
use index-based approach for Apply
|
2020-07-18 01:23:35 +02:00 |
|
Folkert
|
25329ad672
|
get rid of Container
|
2020-07-18 00:57:27 +02:00 |
|
Folkert
|
ce8bcbb5ed
|
introduce Record and Apply Update and Access
|
2020-07-18 00:52:22 +02:00 |
|
Folkert
|
6e7ec8cd2c
|
fix other test failures
|
2020-07-18 00:18:55 +02:00 |
|
Folkert
|
706a2f3986
|
Merge remote-tracking branch 'origin/trunk' into report-record-update
|
2020-07-17 23:51:37 +02:00 |
|
Folkert
|
0459572940
|
use different mechanism to special-case builtins in usage analysis
this will be extendible to user-defined functions
|
2020-07-17 23:50:33 +02:00 |
|
Folkert
|
88ca25e7ee
|
move get_shared function to collections
|
2020-07-17 23:49:43 +02:00 |
|
Richard Feldman
|
ad3c4207ba
|
Expand on some comments
|
2020-07-16 21:11:57 -04:00 |
|
Richard Feldman
|
3d9dba251e
|
Fix new Rust 1.45 clippy warning
|
2020-07-16 19:48:58 -04:00 |
|
Richard Feldman
|
2925706570
|
Merge branch 'trunk' into fix-quicksort
|
2020-07-16 19:46:19 -04:00 |
|
Richard Feldman
|
9c6b6f7e25
|
Silence a few clippy warnings
The map_entry one is important; it seems there's no way to write this
using entry where it's actually correct.
|
2020-07-16 19:30:30 -04:00 |
|
Richard Feldman
|
153eb4f804
|
Follow clippy's advice
|
2020-07-16 19:28:38 -04:00 |
|
Richard Feldman
|
2babe67998
|
Fix stack overflow in monomorphization
|
2020-07-16 19:28:25 -04:00 |
|
Richard Feldman
|
fb8ff03670
|
Clarify a comment
|
2020-07-15 20:58:50 -04:00 |
|
Richard Feldman
|
fcdb300a03
|
Improve runtime error message
|
2020-07-15 20:58:36 -04:00 |
|
Richard Feldman
|
730755a951
|
Only push pattern_vars when pushing args
|
2020-07-15 20:58:18 -04:00 |
|
Richard Feldman
|
bd8480284f
|
Report the first runtime error among multiple
|
2020-07-15 20:57:46 -04:00 |
|
Chad Stearns
|
c9869e67c1
|
Regress to functional first loop, and no second loop
|
2020-07-14 22:05:55 -04:00 |
|
Chad Stearns
|
a5462b1043
|
Second loop in List append (non-functional)
|
2020-07-14 21:50:35 -04:00 |
|
Folkert
|
331a8ed5eb
|
error message for record update and missing module
|
2020-07-14 23:37:19 +02:00 |
|
Folkert
|
27317110f2
|
add comment describing solving process
|
2020-07-14 23:13:37 +02:00 |
|
Richard Feldman
|
764eda0780
|
Fix anonymous function specialization
|
2020-07-12 23:53:58 -04:00 |
|
Richard Feldman
|
2318384740
|
Revert "Drop unnecessary specialization"
This reverts commit ff7429cab4 .
|
2020-07-12 23:44:05 -04:00 |
|
Richard Feldman
|
c6a0970b73
|
Defer specialization by one level only
|
2020-07-12 23:43:55 -04:00 |
|
Richard Feldman
|
ff7429cab4
|
Drop unnecessary specialization
|
2020-07-12 23:39:55 -04:00 |
|
Richard Feldman
|
0ab655fda4
|
Fix another test
|
2020-07-12 23:02:31 -04:00 |
|
Richard Feldman
|
5e687cc71c
|
Fix a test
|
2020-07-12 22:58:52 -04:00 |
|
Richard Feldman
|
5f86ac1d10
|
Never use the specialization queue, for now
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
c2bc98ea4b
|
Only use pending specializations for other modules
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
0b6053e2f6
|
Reproduce some more type checking bugs
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
5fe30be9f5
|
s/negate/neg
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
b8a9a3ef42
|
Account for return types being different in the uniqueness case
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
814ca7c7cc
|
Format some comments
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
a356e8a0f7
|
Add uniqueness types for List.first
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
e4915985f7
|
Re-disable first_empty_list
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
71d87e5772
|
Revert "Add build_trap"
This reverts commit a43903ab1b088ba82f475f12460a05c706a1bf4e.
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
dd1cc5d24e
|
Revert "Try having build_expr return Either"
This reverts commit 2f065f05892fdc188cfdd8f42e878bebe79879cf.
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
70ceaac9ff
|
Try having build_expr return Either
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
7aaf37f4d1
|
Add build_trap
|
2020-07-12 22:53:03 -04:00 |
|
Richard Feldman
|
7c0359c6bf
|
Revert "(REVERT THIS!) Temporarily disable some tests"
This reverts commit 0ed1892329 .
|
2020-07-12 22:53:03 -04:00 |
|
Chad Stearns
|
1221ef3c76
|
Switched order of checking layout and list length for list reverse implementation
|
2020-07-12 17:11:26 -04:00 |
|
Chad Stearns
|
f807947ce4
|
Merging in remote, implemented basics of List append in many modules
|
2020-07-12 14:35:22 -04:00 |
|
Folkert
|
6bc657616d
|
clean up comments
|
2020-07-12 00:37:05 +02:00 |
|
Folkert
|
362ff74b82
|
clean up annotation canonicalization
|
2020-07-12 00:36:11 +02:00 |
|
Folkert
|
d7b2dc7a3b
|
fix test failures caused by def reordering
|
2020-07-11 02:01:23 +02:00 |
|
Folkert
|
46639c5081
|
cleanup and comments
|
2020-07-11 01:51:38 +02:00 |
|
Folkert
|
ba38d4ec14
|
cleanup
|
2020-07-10 23:54:00 +02:00 |
|
Folkert
|
d6bdb45c82
|
Back in working order
|
2020-07-10 23:54:00 +02:00 |
|
Folkert
|
9aa05fdc4c
|
WIP
|
2020-07-10 23:54:00 +02:00 |
|
Folkert
|
36ccafd8ab
|
cleanup
|
2020-07-10 23:54:00 +02:00 |
|
Folkert
|
d61b8c88a1
|
implement Formattable for Pattern
|
2020-07-10 23:54:00 +02:00 |
|
Folkert
|
e18d3bbfe4
|
use Parens type in pattern formatting
|
2020-07-10 23:54:00 +02:00 |
|
Richard Feldman
|
6046d8ee8e
|
Share more variables between builtins
|
2020-07-10 23:54:00 +02:00 |
|
Richard Feldman
|
f847693b7f
|
Use debug_assert_eq! more
|
2020-07-10 23:54:00 +02:00 |
|
Folkert de Vries
|
3a6edd6594
|
Merge branch 'trunk' into format-annotations
|
2020-07-09 18:10:20 +02:00 |
|
Folkert
|
1ac1dd1f8f
|
it does help when you add the new file
|
2020-07-09 18:05:17 +02:00 |
|
Folkert
|
672b67d527
|
initial version of annotation formatting
|
2020-07-09 17:41:21 +02:00 |
|
Folkert
|
732496231c
|
expand some comments
|
2020-07-08 14:30:48 +02:00 |
|
Folkert
|
b7c35665aa
|
report empty non-base-10 integers
|
2020-07-08 14:18:02 +02:00 |
|
Richard Feldman
|
2ea527a293
|
Fix missing function in --release builds
|
2020-07-07 22:55:07 -04:00 |
|
Richard Feldman
|
6eef203e99
|
Ignore zero-sized fields when unwrapping tag structs
|
2020-07-07 22:54:58 -04:00 |
|
Richard Feldman
|
ceefdc73b1
|
clippy stuff
|
2020-07-07 22:36:27 -04:00 |
|
Richard Feldman
|
4f007dd535
|
Drop unnecessary .into()
|
2020-07-07 22:36:24 -04:00 |
|
Richard Feldman
|
0ed1892329
|
(REVERT THIS!) Temporarily disable some tests
I want to merge this to prevent further merge
conflicts, and these seem fine to debug post-merge.
|
2020-07-07 22:34:09 -04:00 |
|
Richard Feldman
|
7938a31ce3
|
Re-add List.reverse (missed in merge)
|
2020-07-07 22:29:18 -04:00 |
|
Richard Feldman
|
cdce98d14f
|
Unwrap the struct inside a single-tag union
|
2020-07-07 22:07:34 -04:00 |
|
Richard Feldman
|
2337d6638e
|
Temporarily disable can_inline
|
2020-07-07 21:11:56 -04:00 |
|
Richard Feldman
|
1cd49689c2
|
Merge remote-tracking branch 'origin/trunk' into low-level-ops
|
2020-07-07 21:09:50 -04:00 |
|
Richard Feldman
|
e78064c037
|
Merge branch 'trunk' into number-error-reporting
|
2020-07-07 18:48:39 -04:00 |
|
Richard Feldman
|
6e290c4a82
|
Merge branch 'trunk' into uniqueness-pretty-printing
|
2020-07-07 18:42:52 -04:00 |
|
Folkert de Vries
|
593fe5ac56
|
Merge branch 'trunk' into number-error-reporting
|
2020-07-07 23:16:39 +02:00 |
|
Folkert
|
4aa66b2585
|
update comment
|
2020-07-07 22:56:46 +02:00 |
|
Folkert
|
edb79b8fce
|
pretty error messages for floats
|
2020-07-07 22:53:54 +02:00 |
|
Folkert
|
9d67b11c0d
|
pretty error messages for integers
|
2020-07-07 22:10:23 +02:00 |
|
Folkert
|
308a24b080
|
Revert "accept a newline and body when patterns are different"
This reverts commit a0d39ff10f .
|
2020-07-07 20:17:59 +02:00 |
|
Folkert
|
28ba5e6a99
|
fix other num functions
|
2020-07-07 19:02:05 +02:00 |
|
Folkert
|
1af180da48
|
fix div_f64
|
2020-07-07 18:54:43 +02:00 |
|
Folkert
|
a7971c738a
|
fix f64_sqrt
|
2020-07-07 18:52:28 +02:00 |
|
Folkert
|
58dfeba043
|
accept a newline and body when patterns are different
|
2020-07-07 17:26:45 +02:00 |
|
Folkert
|
1b4c5cac25
|
fix failing tests
|
2020-07-07 17:17:55 +02:00 |
|
Richard Feldman
|
6bde717df8
|
Add some more i64_abs tests
|
2020-07-06 22:28:02 -04:00 |
|
Richard Feldman
|
35b653636b
|
Fix Num.abs for ints
|
2020-07-06 22:27:53 -04:00 |
|
Richard Feldman
|
8d2961c81e
|
Narrow down the problem with f64_sqrt and div_f64
|
2020-07-06 21:48:39 -04:00 |
|
Richard Feldman
|
9305ecc9bd
|
Specify which test passed or failed
|
2020-07-06 21:25:54 -04:00 |
|
Richard Feldman
|
b5ad6e17b4
|
Don't print subs on error
It's way too verbose and unhelpful!
|
2020-07-06 21:23:59 -04:00 |
|
Folkert
|
ea314be5a2
|
sort in pretty printing for stable results
|
2020-07-06 21:46:15 +02:00 |
|
Folkert
|
e595c14fae
|
wip
|
2020-07-06 20:38:10 +02:00 |
|
Richard Feldman
|
c28dd8fd19
|
Fix set_unique_int_list test
|
2020-07-05 22:58:07 -04:00 |
|
Richard Feldman
|
f584f4a226
|
Temporarily disable a test
It's not urgently important, and this branch needs to get merged!
|
2020-07-05 22:57:40 -04:00 |
|
Richard Feldman
|
57d84bdcc4
|
Fix polymorphic identity test
|
2020-07-05 22:51:46 -04:00 |
|
Richard Feldman
|
092df6ddb2
|
Account for unwrapped structs in AccessAtIndex
|
2020-07-05 22:41:07 -04:00 |
|
Richard Feldman
|
853462833c
|
Unwrap around zero-sized record fields in code gen
|
2020-07-05 22:24:19 -04:00 |
|
Richard Feldman
|
e559deecbf
|
Improve LLVM verification error messages
|
2020-07-05 22:24:04 -04:00 |
|
Richard Feldman
|
290d68c99e
|
Drop obsolete test_opt
We no longer check for in-place mutations as a transformation on
mono::Expr. Instead, in-place optimizations are done during code gen.
|
2020-07-05 22:11:32 -04:00 |
|
Chad Stearns
|
09af8a3b8d
|
Add tests to list push to handle cases like we recently solved regarding List.reverse and List.repeat
|
2020-07-05 15:55:55 -04:00 |
|
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 |
|