Richard Feldman
1c1fee7e31
Trim trailing space off pretty_assertions dep
2020-04-16 19:24:24 -04:00
Folkert
aea48f703a
working parser error
2020-04-16 01:30:28 +02:00
Folkert
719ef5b70e
parse error infrastructure
2020-04-15 21:10:42 +02:00
Folkert
e21cdfc689
bring parse errors into the reporting tests
2020-04-15 19:49:05 +02:00
Richard Feldman
1517581ced
Load main
in the CLI and use it for gen
2020-04-15 07:06:11 -04:00
Richard Feldman
9ca754b8fd
First pass at loading modules from cli
2020-04-15 07:06:11 -04:00
Richard Feldman
62186fdda4
Add load tests for apps
2020-04-15 07:06:11 -04:00
Richard Feldman
6c6e1d9ee3
Update some interface tests
2020-04-15 07:06:11 -04:00
Richard Feldman
d994d11760
Parse app module headers.
2020-04-15 07:06:11 -04:00
Richard Feldman
5980bc38da
Merge remote-tracking branch 'origin/trunk' into order-of-ops
2020-04-15 05:03:42 -04:00
Folkert
c42b5a1e5b
improved phantom type message
2020-04-14 21:27:29 +02:00
Folkert
7e4a1ef4bd
better message for duplicate fields/tags
2020-04-14 21:18:37 +02:00
Chad Stearns
3f7d1cf33a
Merge branch 'trunk' of github.com:rtfeldman/roc into format-precedence-conflict
2020-04-13 22:30:34 -04:00
Folkert
18c6c37c04
fix self-recursive alias case
2020-04-14 01:33:16 +02:00
Folkert
63bc923b37
remove panic
2020-04-13 22:54:24 +02:00
Folkert
f6af66f342
record, tag, alias errors
...
- duplicate fields and tags are reported
- circular aliases are reported
2020-04-13 20:53:16 +02:00
Folkert
0372b34e86
fix comments
2020-04-12 22:00:44 +02:00
Folkert
c69b0d69e5
fix enum and bool pattern match suggestions
2020-04-12 21:47:15 +02:00
Folkert
7632a4b484
highlight code snippets better
2020-04-12 20:59:16 +02:00
Folkert
c326b09964
errors for patterns
2020-04-12 16:39:54 +02:00
Folkert
97c10e1211
setup for mono reports
2020-04-12 01:56:57 +02:00
Folkert
d15bd07bf4
de-alias when diffing with a non-alias
...
When one of the types in a comparison is an alias, elm does not de-alias it.
That is really annoying if e.g. the alias is of a record and you used an invalid field: the field suggestion error does not kick in
2020-04-11 23:57:00 +02:00
Folkert
2811f978a4
make a Index data type
2020-04-11 20:40:25 +02:00
Folkert
ab19529077
record update hints
2020-04-11 14:55:12 +02:00
Folkert
06cd298126
add cycle helper
2020-04-10 23:26:30 +02:00
Folkert
931567ac4d
a working state again
2020-04-10 22:07:02 +02:00
Folkert
3187138084
WIP convert all the type_error things
2020-04-10 18:07:16 +02:00
Folkert
1672b89e19
circular types with pretty
2020-04-10 14:48:34 +02:00
Folkert
fcb62cdf8e
add titles to errors
2020-04-09 23:58:28 +02:00
Folkert
c2ad8dfe7e
use pretty.rs more
2020-04-09 23:27:11 +02:00
Folkert
fd7ca5bcc9
don't add guarded record fields into scope
2020-04-09 01:08:09 +02:00
Folkert
85e2cf4465
add a bunch of hints
2020-04-09 01:08:09 +02:00
Folkert
5e226ee5f4
convert type problems into pretty doc
2020-04-09 01:08:09 +02:00
Folkert
a587e31897
complete pattern_to_doc
2020-04-09 01:08:09 +02:00
Richard Feldman
9288e20469
Upgrade to LLVM 10
2020-04-08 06:41:53 -04:00
Folkert
7e4e3c93d5
cleanup
2020-04-07 21:12:56 +02:00
Folkert
7f999a06f3
add When pattern errors
2020-04-07 18:06:00 +02:00
Folkert
2d1a1621c3
add NoExpectation type error
2020-04-07 13:35:38 +02:00
Folkert
ccd021a755
add FnCall error message
2020-04-07 13:31:48 +02:00
Folkert
02e42b0abc
add from annotation cases
2020-04-06 22:59:21 +02:00
Folkert
67f8f2e943
improve tag union errors
2020-04-06 21:40:54 +02:00
Folkert
3f4346f573
stop unification when ext vars don't unify
2020-04-06 21:40:54 +02:00
Folkert
2d6e47b8a6
test for record diff
2020-04-06 21:40:54 +02:00
Folkert
fc8d9c2fd9
record diff
2020-04-06 21:40:54 +02:00
Folkert
7818e84316
convert ErrorType to ReportText
2020-04-06 21:40:54 +02:00
Folkert
854ffdae5e
stylistic improvements
2020-04-06 21:40:54 +02:00
Richard Feldman
945ee879db
s/List.length/List.len
2020-04-06 06:23:00 -04:00
Richard Feldman
002fda7b55
Expand stack size further
2020-04-06 06:22:24 -04:00
Richard Feldman
954ec9eb24
Drop obsolete test
2020-04-06 06:21:38 -04:00
Richard Feldman
fbeaafc91b
Fix canoncalization errors in solve tests
2020-04-05 23:30:39 -04:00
Richard Feldman
7ad4fb0e68
Add List.concat
2020-04-05 23:30:39 -04:00
Richard Feldman
41662af399
Allow UnusedDef problems in solve tests
2020-04-05 23:30:39 -04:00
Richard Feldman
20f7243373
Rename test_canonicalize to test_can
2020-04-05 23:30:39 -04:00
Richard Feldman
a291946aa5
Check for canoncalization problems in solve
2020-04-05 23:30:39 -04:00
Richard Feldman
3b507f4f48
Add canonicalization checks to infer_eq_help
2020-04-05 23:30:39 -04:00
Richard Feldman
d99fda3845
Union references in TypedBody
...
Fixes #298
2020-04-05 23:30:39 -04:00
Richard Feldman
928d1bba6c
Reproduce #298
2020-04-05 23:30:39 -04:00
Richard Feldman
0357ff552b
Improve a todo error message
2020-04-05 23:30:39 -04:00
Chad Stearns
21ef4fb66c
Merge branch 'shadowing-report' of github.com:rtfeldman/roc into shadowing-report
2020-04-05 21:28:03 -04:00
Chad Stearns
a56867ee79
Commented out multiline shadowing test
2020-04-05 21:27:22 -04:00
Chad Stearns
f56a06d53b
Fixed shadowing test
2020-04-05 17:52:03 -04:00
Richard Feldman
e3bcb90217
Merge branch 'trunk' into shadowing-report
2020-04-05 17:51:52 -04:00
Richard Feldman
94801f1011
Use expanded stack on load tests
2020-04-05 17:32:06 -04:00
Richard Feldman
9cead44b39
Add PendingDef::ShadowedAlias
2020-04-05 17:26:56 -04:00
Chadtech
ea91f06490
Merge branch 'trunk' into shadowing-report
2020-04-05 15:57:11 -04:00
Chad Stearns
e4b9e0d6e7
Commented out incomplete code
2020-04-05 15:24:45 -04:00
Chad Stearns
89c949a9fd
Clean up
2020-04-05 15:20:01 -04:00
Chad Stearns
d8511e3285
Two shadowing report tests
2020-04-05 15:19:43 -04:00
Folkert
9e331f4a60
add commented tests
2020-04-05 00:15:38 +02:00
Folkert
5b0d9e693b
record update value
2020-04-05 00:15:38 +02:00
Folkert
f8b3d5dce7
elem_in_list
2020-04-05 00:15:38 +02:00
Folkert
200adae507
when_branch_mismatch
2020-04-05 00:15:38 +02:00
Folkert
98479511f5
when_if_guard
2020-04-05 00:15:38 +02:00
Richard Feldman
d28f8449d0
Report errors in the CLI
2020-04-03 21:58:44 -04:00
Richard Feldman
463eb6a1af
Drop unused declaration in Cargo.toml
2020-04-03 21:46:36 -04:00
Folkert
05db8c0a48
cleanup
2020-04-04 01:58:59 +02:00
Folkert
51a3c72424
don't run pretty.rs tests
2020-04-04 01:50:19 +02:00
Folkert
ba16eff24d
use pretty.rs for formatting
2020-04-04 01:41:17 +02:00
Folkert
a2a79925b3
complete add_category
2020-04-03 16:10:41 +02:00
Richard Feldman
98f4f46248
Special-case 2-branch if/else errors
2020-04-03 01:51:42 -04:00
Richard Feldman
dc3e2d307c
Revise conditional error wording.
2020-04-03 01:05:55 -04:00
Richard Feldman
67b7be9786
Revise error for reporting
2020-04-03 00:48:00 -04:00
Richard Feldman
930f83a283
fixup! Add ReportText::Code
2020-04-03 00:47:44 -04:00
Richard Feldman
3313ad05fa
Simplify some report helpers
2020-04-03 00:47:21 -04:00
Richard Feldman
bb2ececda4
Add ReportText::Code
2020-04-03 00:46:45 -04:00
Richard Feldman
c5b7b93593
Note how to rebuild bitcode
2020-04-03 00:17:34 -04:00
Folkert
1981a7e467
refactor and clean up
2020-04-03 01:20:35 +02:00
Folkert
604dbf7215
Merge remote-tracking branch 'origin/trunk' into precedence-error
2020-04-02 23:29:15 +02:00
Folkert
2e822e739f
report circular type error
2020-04-02 23:13:35 +02:00
Richard Feldman
b8dc9ce1b2
Update bitcode importing instructions
2020-04-01 23:24:00 -04:00
Richard Feldman
01f3ae893f
Use include_bytes! to import llvm bitcode
2020-04-01 23:24:00 -04:00
Richard Feldman
63bf1ce8b0
Merge branch 'trunk' into report-problems
2020-04-01 23:12:31 -04:00
Chad Stearns
30dadd882c
Binop precedence problem report test
2020-04-01 22:17:39 -04:00
Folkert
8642cfeae0
report first type error
2020-04-01 23:37:05 +02:00
Folkert
106a3646bf
add category to Eq constraint
2020-04-01 20:09:10 +02:00
Folkert
14ad793bd7
hook up TypeError
2020-04-01 16:28:10 +02:00
Richard Feldman
63b38ae174
clippy the original clipper
2020-04-01 00:03:27 -04:00
Richard Feldman
dfa514c1fe
Use no_std in the builtins bitcode source
2020-04-01 00:03:03 -04:00
Richard Feldman
67e68d57b4
cargo fmt
2020-03-31 23:56:31 -04:00
Richard Feldman
9aba6ff22e
Add a note about using build_cast
2020-03-31 23:56:09 -04:00
Richard Feldman
d93429131e
Remove extraneous bitcode.bc
2020-03-31 23:55:11 -04:00
Richard Feldman
cda6a21fa4
Implement Num.toFloat
2020-03-31 23:51:17 -04:00
Richard Feldman
37492f4aa6
Load builtins on startup
2020-03-31 23:50:55 -04:00
Richard Feldman
081de1b4bc
Add builtins/bitcode/
2020-03-31 23:48:48 -04:00
Folkert
6531845966
fix off-by-one error
2020-04-01 00:06:48 +02:00
Folkert
8e8f93955e
cleanup
2020-03-31 23:54:14 +02:00
Folkert
48832ffa84
add error under/side lines
2020-03-31 23:49:26 +02:00
Folkert
2b4b63a8eb
add caret underline for sinlg-line regions
2020-03-31 23:28:14 +02:00
Folkert
11c8e2bfaa
improve Precedence error message
2020-03-31 23:11:35 +02:00
Richard Feldman
d213c7316b
Fix missing report for precedence problem
2020-03-31 00:08:56 -04:00
Richard Feldman
33d5e528a6
Use Interns for module_id in reporting tests
2020-03-30 23:57:57 -04:00
Richard Feldman
84ec100208
Merge remote-tracking branch 'origin/trunk' into report-problems
2020-03-30 23:49:30 -04:00
Richard Feldman
574e346c8f
Merge branch 'trunk' into pattern-errors
2020-03-30 23:17:58 -04:00
Richard Feldman
1609c058f6
Fix tests
2020-03-30 22:31:20 -04:00
Richard Feldman
5f817d8019
Add a basic CLI
2020-03-30 21:27:37 -04:00
Richard Feldman
47f35dde01
First pass at test_emit
2020-03-30 21:27:02 -04:00
Richard Feldman
0a0a736153
Move pass managers into llvm::build
2020-03-30 21:27:02 -04:00
Folkert
db3ffc6dab
make runtime errors for invalid patterns
2020-03-31 01:47:14 +02:00
Folkert
2586fde6af
add test that triggers assert
2020-03-31 00:27:37 +02:00
Folkert
4947e2638c
remove RuntimeError panics in canonicalization
2020-03-30 15:59:00 +02:00
Folkert
e05bad3c72
remove panic in constrain/src/pattern
2020-03-30 15:09:15 +02:00
Richard Feldman
503486f5bb
Merge remote-tracking branch 'origin/trunk' into report-problems
2020-03-29 23:27:21 -04:00
Richard Feldman
4d950f2014
Inline ModuleId::name
2020-03-29 23:27:12 -04:00
Richard Feldman
555528c483
Add Interns::module_name and use it.
2020-03-29 23:27:12 -04:00
Folkert
da7498510b
add another test
2020-03-30 02:14:41 +02:00
Chad Stearns
62c7a7c3e2
Small adjustments to reports
2020-03-29 18:42:35 -04:00
Chad Stearns
1d839863a1
Remove catch all for problem report
2020-03-29 18:25:41 -04:00
Chad Stearns
da4e97fd25
Many commented out report tests and report_problem_as helper
2020-03-29 18:04:22 -04:00
Folkert
a6f80471f9
add tests based on elm typechecker issues
2020-03-29 23:33:21 +02:00
Chad Stearns
221581432a
Two non-functional problem reports
2020-03-29 14:28:06 -04:00
Chad Stearns
a00ed8a1ca
Misc cleaning up
2020-03-29 14:27:21 -04:00
Chad Stearns
a19287f657
Module name report text variety
2020-03-29 14:26:41 -04:00
Chad Stearns
3f2579c4f3
Module name report text variety
2020-03-29 14:26:25 -04:00
Richard Feldman
d0b2d63511
Drop cranelift deps
2020-03-27 00:45:18 -04:00
Richard Feldman
ebb4963da7
Extract bounds check
2020-03-27 00:18:12 -04:00
Richard Feldman
ceb9cdd452
Revert "Attempt to bitcast structs"
...
This reverts commit a5b50730c33437f459da8705ee186f8f354c2454.
2020-03-27 00:18:12 -04:00
Richard Feldman
ab79e20956
Attempt to bitcast structs
2020-03-27 00:18:12 -04:00
Richard Feldman
e27359a812
Revert "Switch from i1 to i8 for bools"
...
This reverts commit 360d55483daa7eba53d66c7f14f9aec9db841986.
2020-03-27 00:18:12 -04:00
Richard Feldman
0217913dc7
Switch from i1 to i8 for bools
2020-03-27 00:18:12 -04:00
Richard Feldman
23eafd3a75
Reorganize gen tests
2020-03-27 00:18:12 -04:00
Richard Feldman
40be7a582d
Extract eval test helpers
2020-03-27 00:18:12 -04:00
Richard Feldman
8bcc23a9c7
Add some record tests
2020-03-27 00:18:12 -04:00
Richard Feldman
76fd347801
Explicitly set calling convention
2020-03-27 00:18:12 -04:00
Richard Feldman
7bb2a4e3b8
Use usize for pointer size in tests
2020-03-26 23:07:42 -04:00
Folkert
c202cf3e6b
don't generate Store with no stores
2020-03-26 15:11:40 +01:00
Folkert
ad23fc7e4b
Merge remote-tracking branch 'origin/trunk' into tail-calls
2020-03-26 14:57:28 +01:00
Folkert
fc905b505c
codegen for letrec
2020-03-26 14:53:38 +01:00
Folkert
1108e56750
add Bool.not
2020-03-26 14:48:11 +01:00
Folkert
08403b0a1f
enable tail-call elimination in llvm
2020-03-26 14:02:53 +01:00
Richard Feldman
a561f343b2
Remove Cranelift for now.
2020-03-25 20:19:58 -04:00
Richard Feldman
a07acd875f
Fix test compilation error
2020-03-25 20:07:10 -04:00
Richard Feldman
8390bd966a
Revert "Try using special struct return values"
...
This reverts commit 0628c104513d1cae44859c1d804177c4a1e33c95.
2020-03-25 19:47:28 -04:00
Richard Feldman
fcd917c9fe
Re-disable cranelift test_gen tests for now
2020-03-25 19:47:28 -04:00
Richard Feldman
2491b2e43b
Restore some more things to how they were before
2020-03-25 19:47:28 -04:00
Richard Feldman
0951f8048e
Try using special struct return values
2020-03-25 19:47:28 -04:00
Richard Feldman
aae69e8b55
Try having main return multiple values
2020-03-25 19:47:28 -04:00
Richard Feldman
72742f3e4c
Restore some things to how they were before
2020-03-25 19:47:28 -04:00
Richard Feldman
f27f324c4c
Make clone_list more robust in crane build
2020-03-25 19:47:28 -04:00
Richard Feldman
5d28ae5fa6
Let us never speak of this again.
2020-03-25 19:47:28 -04:00
Richard Feldman
bb26692983
Fix load_list_ptr
2020-03-25 19:47:28 -04:00
Richard Feldman
8b881d90d9
Enable cranelift on all test_gen tests
2020-03-25 19:47:28 -04:00
Richard Feldman
3672900aaa
Update a comment
2020-03-25 19:47:28 -04:00
Richard Feldman
97ff5620ab
Clean up some cranelift stuff
2020-03-25 19:47:28 -04:00
Richard Feldman
aa1cbab373
Fix phi node bug
2020-03-25 19:47:28 -04:00
Richard Feldman
2c27e459b0
Inline list_set comparison
2020-03-25 19:47:28 -04:00
Richard Feldman
c560b7a6c5
Share code on LLVM List.set
2020-03-25 19:47:28 -04:00
Richard Feldman
56f4d553e5
More progress on List.set in Cranelift
2020-03-25 19:47:28 -04:00
Richard Feldman
41b39c0629
Add more llvm verification
2020-03-25 19:46:11 -04:00
Richard Feldman
bf129a7299
Progress on List.set in Cranelift
2020-03-25 19:46:11 -04:00
Folkert
579d0d9eff
fix booleans in crane
2020-03-24 15:59:11 +01:00
Richard Feldman
bed356f93e
Merge branch 'trunk' into cleanup-mono
2020-03-24 06:28:45 -04:00
Folkert
39fb78b2d5
remove Jump/Label from mono::Expr
2020-03-24 00:11:02 +01:00
Folkert
958f3f9ad4
change pattern destructuring stores
...
they are now tracked in the Cond/Switch variants, rather than merged into the branch constructors. Required for 'beans'
2020-03-23 23:35:45 +01:00
Folkert
2bb69f333f
always Cond on a symbol
...
this will make 'beans' easier
2020-03-23 20:00:15 +01:00
Folkert
3dbdb64a93
fix merge conflict
2020-03-23 17:56:38 +01:00
Folkert
baeb8ad96a
test unit type patterns
2020-03-23 17:55:02 +01:00
Folkert
b9613fcdc5
clean up tag pattern match conversion
2020-03-23 17:55:02 +01:00
Folkert
a7b5768c47
use a custom type to store Union variants
2020-03-23 17:55:02 +01:00
Folkert
46062439b5
remove label from Struct layout
2020-03-23 17:55:02 +01:00
Folkert
e2a7c970bc
refactor Access into AccessAtIndex
2020-03-23 17:55:02 +01:00
Chad Stearns
6a6912cbb1
Merge branch 'trunk' of github.com:rtfeldman/roc into more-reports
2020-03-22 22:01:29 -04:00
Chad Stearns
57cf650ac7
All report text types rendered in color with tests
2020-03-22 21:56:22 -04:00
Chad Stearns
3ea27dab39
Cleaned up report tests
2020-03-22 21:24:08 -04:00
Chad Stearns
1478fbca3f
Region with line numbers of different string length need to pad shorter line numbers
2020-03-22 21:22:59 -04:00
Richard Feldman
ee12e56d1c
Fix set_shared_list_oob test
2020-03-22 11:34:36 -04:00
Folkert
c6fa301d8b
fix bug in is_unique
2020-03-22 13:22:52 +01:00
Richard Feldman
db502fe2e7
Revise some tests
2020-03-21 22:51:11 -04:00
Richard Feldman
39249f3905
Add test for List.set bounds checking
2020-03-21 22:14:02 -04:00
Richard Feldman
52bfe3ce9e
Add bounds checking to List.setInPlace
2020-03-21 22:12:51 -04:00
Richard Feldman
3e71b5a38d
Extract bounds_check_comparison
2020-03-21 22:11:06 -04:00
Richard Feldman
ef38095003
Fix optimization test
...
The reason this was failing was that `x` was getting
dropped by dead code elimination, and therefore wasn't
considered a reason to share any values it used.
2020-03-21 21:19:18 -04:00
Richard Feldman
a0dd31ee51
Add bounds checking for List.set in LLVM
2020-03-21 21:19:18 -04:00
Richard Feldman
63a8daa4c7
Reproduce no bounds checking on List.set in LLVM
2020-03-21 21:19:18 -04:00
Richard Feldman
d9fe38efce
Remove unnecessary lifetime annotations
2020-03-21 21:19:18 -04:00
Richard Feldman
d0a1adfef9
Fix set_shared_int_list for LLVM
2020-03-21 21:19:18 -04:00
Richard Feldman
8a26cac3f2
Add a test of just List.set by itself
2020-03-21 21:19:18 -04:00
Richard Feldman
facdc1e2f4
Revise some tests a bit
2020-03-21 21:19:18 -04:00
Richard Feldman
cc8683d241
Fix use of GEP (was using byte offset, not index)
2020-03-21 21:19:18 -04:00
Richard Feldman
4182e51877
Fix set_shared_int_list test
2020-03-21 21:19:18 -04:00
Richard Feldman
e6704d1fcb
Streamline empty list LLVM code gen
2020-03-21 21:19:18 -04:00
Richard Feldman
d2e7e373e6
Remove unused lifetimes
2020-03-21 21:19:18 -04:00
Richard Feldman
3a6018d223
Reproduce List.set uniqueness bug
2020-03-21 21:19:18 -04:00
Richard Feldman
a286dec4cc
Reorganize some things
2020-03-21 21:19:18 -04:00
Richard Feldman
f86c3f1e7e
Avoid some redundant stores/loads
2020-03-21 21:19:18 -04:00
Richard Feldman
5b902b5a49
Use ptr_int over hardcoded i64
2020-03-21 21:19:18 -04:00
Richard Feldman
f2419bb9f8
Use struct_type.get_undef()
2020-03-21 21:19:18 -04:00
Richard Feldman
fc036453d9
Have List.set in LLVM clone before mutating
2020-03-21 21:19:18 -04:00
Richard Feldman
48954eb52b
Update to Inkwell version with memcpy
2020-03-21 21:19:18 -04:00
Folkert
eca096bf2c
disable inlining in unique when branch constraint gen
2020-03-22 01:42:28 +01:00
Folkert
9a0234e5dd
make bound variables available in guards
2020-03-22 01:11:19 +01:00
Folkert
1f3b8f7d68
guard exhaustiveness
2020-03-21 23:33:37 +01:00
Folkert
a16d48a6a9
code gen for simple guards
...
Guards cannot use variables bound in the pattern yet
2020-03-21 22:27:36 +01:00
Folkert
bd7ad318cf
fix bug in guard constraint gen
2020-03-21 15:12:01 +01:00
Folkert
a040bc971a
don't drop guard, and desugar it
2020-03-21 14:58:28 +01:00
Folkert
97acf1363d
cleanup after review
2020-03-21 12:52:10 +01:00
Richard Feldman
d7e66fa9a0
Merge branch 'trunk' into more-patterns
2020-03-20 23:48:40 -04:00
Chad Stearns
ab61d3d357
Use human readable forms of ansi codes in reporting tests
2020-03-20 22:03:08 -04:00
Folkert
caaf6370ce
fix solve test
2020-03-21 01:06:51 +01:00
Folkert
c57b5c8bc3
make old tests pass again
2020-03-21 01:02:02 +01:00
Folkert
920928399a
type inference for pattern guards
2020-03-21 00:39:52 +01:00
Folkert
655dc32098
support nested pattern matches on tag unions
2020-03-20 22:14:38 +01:00
Folkert
0f22cbbf7d
fix incorrect layout for Switch
2020-03-20 19:56:50 +01:00
Folkert
d0da300042
fix equality/hash issue
...
lead to tests not being merged/shared
2020-03-20 16:23:56 +01:00
Folkert
e062404a63
support more complex nested patterns
2020-03-20 14:27:07 +01:00
Folkert
fbadd9d620
add pointer Layout
2020-03-20 11:53:21 +01:00
Folkert
e4566b9757
clean up comment
2020-03-20 11:47:22 +01:00
Richard Feldman
b33af811d0
Merge branch 'trunk' into unit-types
2020-03-19 22:05:22 -04:00
Richard Feldman
b5ab2b2201
Merge branch 'trunk' into render-color-cli
2020-03-19 21:50:58 -04:00
Folkert
14979ceb41
Merge remote-tracking branch 'origin/trunk' into unit-types
2020-03-20 01:02:13 +01:00
Folkert
f44fea42bb
Boolean and/or in cranelift
2020-03-20 00:59:26 +01:00
Folkert
e6bee2656d
add Bool.and for llvm
2020-03-19 23:18:44 +01:00
Folkert
82655556ab
exhaustiveness for record guards
2020-03-19 22:34:08 +01:00
Folkert
0985037754
expand record pattern matches to bind all unused fields with underscore
...
this will simplify exhaustiveness checking, because a record is not like a one-tag union
2020-03-19 20:42:58 +01:00
Folkert
5fc96c09ee
Add record patterns
2020-03-19 17:08:29 +01:00
Folkert
9745d86efb
add tests
2020-03-19 14:59:05 +01:00
Folkert
006b1f8696
Switch on floats in llvm
2020-03-19 14:58:28 +01:00
Folkert
9b81a94786
Switch on floats in crane
2020-03-19 14:43:58 +01:00
Folkert
6b7b393d32
Switch on tags in crane
2020-03-19 14:39:04 +01:00
Folkert
0075e3fb04
attempt at float switches
...
needs something more , will circle back later
2020-03-19 14:25:37 +01:00
Folkert
f30655a103
Switch on tags in llvm
2020-03-19 14:18:54 +01:00
Folkert
0593a39e0f
uncomment test
2020-03-19 12:35:11 +01:00
Folkert
20dc928bfe
fix test on maybe
...
used elm syntax instead of roc
2020-03-19 12:32:48 +01:00
Folkert
c31116af87
preparation for recursive tag unions
2020-03-19 12:20:12 +01:00
Folkert
9d1e2a0ef1
support zero-sized values (empty record, unit type)
...
They now use no stack space
2020-03-19 11:31:06 +01:00
Dan Bruder
2c630fd014
Use sorted fields from struct layout as well as layout.stack_size in crane and llvm access
2020-03-19 05:59:29 -04:00
Dan Bruder
59bcda21f5
tests pass for crane f64
2020-03-19 05:46:11 -04:00
Chad Stearns
3984a8d60e
Merging in remote
2020-03-19 01:10:57 -04:00
Chad Stearns
beb94dc6f5
Cargo Fmt
2020-03-19 01:10:04 -04:00
Richard Feldman
04f8b93a9b
the clippiest of clips
2020-03-18 21:31:01 -04:00
Richard Feldman
8f51b2d429
Don't hardcode elem_bytes in llvm
2020-03-18 21:31:01 -04:00