Commit Graph

699 Commits

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