Commit Graph

8850 Commits

Author SHA1 Message Date
Ayaz
016757be66
Merge pull request #3069 from rtfeldman/cycle-mark-opt-var
use opt var in cycle marks
2022-05-15 08:59:01 -04:00
Brian Carroll
6a91e66192
Delete env var NO_ZIG_INSTALLED since Zig is now installed on Netlify 2022-05-15 12:57:37 +01:00
Folkert
69e7d0a378
use opt var in cycle marks 2022-05-15 13:14:18 +02:00
Brian Carroll
aaea254e8f
Pass precompiled host bytes to gen_wasm in CLI 2022-05-15 11:11:08 +01:00
Folkert
c6b13984ed
direct indexing into the slice 2022-05-15 00:17:12 +02:00
Folkert
8f97c217a5
logic base 2022-05-15 00:06:33 +02:00
Folkert
dc4f8289ad
less cloning of the parse state 2022-05-14 23:54:15 +02:00
Folkert
2e3a8befc9
another inline 2022-05-14 23:51:06 +02:00
Drake
c4ab5a02eb
fix: cargo fmt 2022-05-14 15:46:57 -06:00
Folkert
9f2906a2f8
use while let 2022-05-14 23:46:52 +02:00
Folkert
d9977b73aa
inline function 2022-05-14 23:44:51 +02:00
Drake
43674efb32
fix: pass along parsed number string 2022-05-14 15:44:16 -06:00
Folkert
0cc6b63feb
use single-threaded mode for gen tests 2022-05-14 23:26:16 +02:00
Richard Feldman
d26f6f600f
Merge pull request #3065 from rtfeldman/bindgen-recursive-tag-unions
Bindgen unwrapped pointer recursive tag unions
2022-05-14 16:09:40 -04:00
Richard Feldman
83b2d2fc75
Merge pull request #3066 from rtfeldman/format-multiline-function-annotations 2022-05-14 11:40:35 -04:00
Sean Hagstrom
b91d6aa5a9 fix(formatter): ensure arguments and return value in multi-line function annotation are on separate lines
Added tests based on the examples in: Issue #2587
Removed outdated comment and debug_assert statement
Updated the tests for multi-line higher order function annotations
2022-05-14 14:23:56 +01:00
Folkert
c161140aec
Merge remote-tracking branch 'origin/trunk' into more-tyck 2022-05-14 14:48:54 +02:00
Folkert
7face320eb
move back to one loc_symbols vector 2022-05-14 14:44:37 +02:00
Richard Feldman
de14c9b979
Correctly unwrap cons list payloads in bindgen 2022-05-13 23:55:13 -04:00
Richard Feldman
c9f06a9172
Ad some docs to tag union layouts 2022-05-13 13:06:33 -04:00
Folkert de Vries
8db3a3c981
Merge pull request #3059 from rtfeldman/cleanup-let-constr
Clean up and explain recursive/non-recursive def constraining
2022-05-13 00:01:55 +02:00
Richard Feldman
e6efbdfe7c
Merge pull request #3055 from rtfeldman/bindgen-multi-tag-unions
Bindgen tag unions with payloads
2022-05-12 17:56:53 -04:00
Ayaz Hafiz
c9e8f6130b
Cleanup constrain_def_make_constraint 2022-05-11 19:28:39 -04:00
Ayaz Hafiz
1609a1a48b
Add some comments and tests showing why recursive defs are constrained this way 2022-05-11 19:16:10 -04:00
Ayaz Hafiz
697f5f7a86
Check in ignored tests 2022-05-11 18:12:37 -04:00
Ayaz Hafiz
3f0449292d
My bad 2022-05-11 14:57:03 -04:00
Ayaz Hafiz
75f7f6e681
cargo fmt 2022-05-11 14:57:03 -04:00
Ayaz Hafiz
c708c1ba07
Fix can and load tests 2022-05-11 14:57:03 -04:00
Ayaz Hafiz
710a10a29c
Check for invalid cycles after type solving recursive defs
Disallow cycles that pass through a non-function value. Since we
evaluate eagerly, having one such cycle means there is at least one path
in the program that (likely) has unbounded recursion. Of course we can't
be certain (halting problem), but it's very likely, and avoids stuff
like #1926. Also, mono (as it's done today) won't work if things in a
cycle aren't functions.

Closes #1926
2022-05-11 14:57:01 -04:00
Ayaz Hafiz
17d8545510
Remove symbols_from_pattern 2022-05-11 14:53:40 -04:00
Ayaz Hafiz
9777886376
Fill out pattern traversals, add symbol discovery 2022-05-11 14:53:39 -04:00
Ayaz
d485869954
Merge pull request #3039 from rtfeldman/specializations-at-the-front
Opportunistically resolve specializations during solving
2022-05-11 13:42:19 -04:00
Ayaz Hafiz
7420276116
Avoid an allocation 2022-05-11 11:20:17 -04:00
Richard Feldman
a380afd4dc
Merge remote-tracking branch 'origin/trunk' into bindgen-multi-tag-unions 2022-05-11 10:52:52 -04:00
Richard Feldman
8da0e219b9
Merge pull request #3049 from rtfeldman/clippy-for-tests
clippy --tests
2022-05-11 10:52:00 -04:00
Richard Feldman
b9c07aef27
Use internal_error over unreachable 2022-05-11 10:51:27 -04:00
Richard Feldman
5ff3bfbbf9
Expose the logic for choosing discriminant size 2022-05-11 10:47:56 -04:00
Richard Feldman
512e3c222e
cargo fmt 2022-05-11 10:47:55 -04:00
Richard Feldman
beda367d9f
don't say pi = 1.23 2022-05-11 10:47:55 -04:00
Richard Feldman
dbc6302681
Fix a bunch of errors from clippy --tests 2022-05-11 10:47:55 -04:00
Richard Feldman
a426a61e5d
Add some safety comments for clippy 2022-05-11 10:47:55 -04:00
Ayaz Hafiz
d0c6c06ca1
Remove KnownSizeIterator 2022-05-11 09:06:25 -04:00
Ayaz Hafiz
13441a0243
Revert "Known-size iterator"
This reverts commit f07c56a25d.
2022-05-11 08:59:12 -04:00
Ayaz Hafiz
49c61a6f4a
Fix ignored field 2022-05-11 08:56:04 -04:00
Ayaz Hafiz
eca069bb4a
Test static specializations 2022-05-11 08:53:41 -04:00
Ayaz Hafiz
afb1f826b1
Correct walking of even specialized symbols in mono 2022-05-11 08:53:16 -04:00
Ayaz Hafiz
da00c47102
Opportunistically resolve specializations during solving 2022-05-11 08:53:15 -04:00
Ayaz Hafiz
f07c56a25d
Known-size iterator 2022-05-11 08:52:49 -04:00
Ayaz Hafiz
619d9aa8b3
Decrease specialization ID size 2022-05-11 08:52:49 -04:00
Ayaz Hafiz
bdccda6cfb
Add some debug-assertions regarding what we know about specializations 2022-05-11 08:52:48 -04:00
Folkert de Vries
b2e045bf9a
Merge pull request #3042 from rtfeldman/specialization-under-let
Lift mono of let-bindings to separate function
2022-05-11 14:50:40 +02:00
Richard Feldman
49bf36ec09
Merge remote-tracking branch 'origin/trunk' into clippy-for-tests 2022-05-10 19:27:45 -04:00
Richard Feldman
11e2faa87a
Merge pull request #3050 from rtfeldman/bindgen-tag-payloads
Bindgen single-tag unions
2022-05-10 19:27:25 -04:00
Richard Feldman
5970e16a6b
cargo fmt 2022-05-10 19:26:48 -04:00
Richard Feldman
f386edc54a
don't say pi = 1.23 2022-05-10 15:25:46 -04:00
Richard Feldman
fd40fed937
Fix a bunch of errors from clippy --tests 2022-05-10 15:21:48 -04:00
Richard Feldman
a7ed288b56
Add some safety comments for clippy 2022-05-10 15:21:47 -04:00
Folkert de Vries
89c6f55288
Merge pull request #3048 from rtfeldman/i/2389
Type solving paper cuts
2022-05-10 20:45:45 +02:00
Richard Feldman
496b4b8857
Merge pull request #3044 from rtfeldman/bindgen-tags
Bindgen tag unions into Rust enums
2022-05-10 14:39:27 -04:00
Ayaz Hafiz
62ebb80f09
Handle recursion through Applys with errors
Closes #219
2022-05-10 12:58:14 -04:00
Folkert
a9bee7f564
only run min/max test on wasm/llvm; dev backend doesn't implement them 2022-05-10 18:33:00 +02:00
Ayaz Hafiz
4339d50480
Improve cycle error message
Closes #2513
2022-05-10 12:11:32 -04:00
Ayaz Hafiz
1fb6718c00
Improve error type context field name 2022-05-10 11:32:45 -04:00
Ayaz Hafiz
3ddb14184d
Move dead code removal 2022-05-10 11:29:10 -04:00
Ayaz Hafiz
a9507cf917
Consolidate variable pretty printing 2022-05-10 11:24:41 -04:00
Ayaz Hafiz
3de35f7aa2
Loosen recursion var rank restriction in presence of errors 2022-05-10 11:15:21 -04:00
Ayaz Hafiz
3497237c99
Print recursion vars correctly 2022-05-10 10:40:37 -04:00
Ayaz Hafiz
7306e131b9
Add test for resolved issue
Closes #2371
2022-05-10 09:42:35 -04:00
Ayaz Hafiz
32814cbb37
Add test for resolved bug
Closes #2389
2022-05-10 09:29:28 -04:00
Ayaz Hafiz
029fbb372b
Fix gen test 2022-05-10 09:24:16 -04:00
Richard Feldman
8453b233bc
Fix test 2022-05-10 08:40:33 -04:00
Folkert
ff48bf0899
min/max abs tests 2022-05-10 13:23:57 +02:00
Richard Feldman
2db527888b
Drop unnecessary parens 2022-05-09 22:31:29 -04:00
Richard Feldman
64065a5019
Add UnionTags::iter_from_subs 2022-05-09 22:29:11 -04:00
Folkert
96bf75469a
formatting 2022-05-10 00:48:57 +02:00
Richard Feldman
1649680fbd
Share sorting code between bindgen and code gen 2022-05-09 18:42:38 -04:00
Richard Feldman
3ce0fc59d4
Remove a continue` 2022-05-09 18:42:37 -04:00
Richard Feldman
b174ea9ab0
Extract cmp_fields function 2022-05-09 18:42:37 -04:00
Richard Feldman
2f2230a9f3
Avoid an intermediate vector in some cases 2022-05-09 18:42:37 -04:00
Richard Feldman
e86ef8d1ca
Make a lifetime more explicit 2022-05-09 18:42:37 -04:00
Folkert
7461bbcd87
fix load tests 2022-05-09 23:07:54 +02:00
Folkert
5cd36a3c26
add tests for the new min/max constants 2022-05-09 22:56:54 +02:00
Folkert
f77e559c6f
replace maxFloat with maxF64 2022-05-09 22:56:30 +02:00
Folkert
8c4b574e48
remove type def for maxFloat; could only be used by expr2, and it isn't so this is safe 2022-05-09 22:56:09 +02:00
Folkert
cdc61f64ba
fix names of min/max float functions 2022-05-09 22:46:55 +02:00
Folkert
c5ee1effad
use chunks_exact; i spotted some weird things with the normal chunks 2022-05-09 22:46:39 +02:00
Ayaz Hafiz
1521711abd
Lift it all the way up 2022-05-09 16:45:39 -04:00
Ayaz Hafiz
7c1a6037d4
Lift another branch 2022-05-09 16:39:06 -04:00
Ayaz Hafiz
a59739bf20
More lifting 2022-05-09 16:36:13 -04:00
Ayaz Hafiz
bc5dc17ce9
Dead code 2022-05-09 16:29:20 -04:00
Ayaz Hafiz
6b9b64274b
Lift translation of lets 2022-05-09 16:23:00 -04:00
Brian Carroll
ca7d916065 Delete llvm feature from roc_build and roc_cli 2022-05-09 20:40:57 +01:00
Ayaz Hafiz
b92e3a07ac
Remove irrelevant errors 2022-05-09 09:48:30 -04:00
Ayaz Hafiz
b0734c3d80
Disallow abilities on toplevel of scope 2022-05-09 09:45:02 -04:00
Richard Feldman
df7df4ccf8
Merge branch 'trunk' into mfonism/rename-num-float-type-to-frac 2022-05-08 20:54:33 -04:00
Ayaz
3e7702df01
Merge pull request #2910 from rtfeldman/i/2880
Ability codegen for Encode/Decode
2022-05-08 19:10:45 -04:00
Richard Feldman
c7037db6d5
Merge pull request #3013 from rtfeldman/hostgen
Introduce bindgen CLI
2022-05-08 17:51:20 -04:00
Folkert de Vries
5d3b83f5a6
Merge pull request #2268 from rtfeldman/update_zig_09
Update to Zig 0.9 + LLVM 13
2022-05-08 23:29:45 +02:00
ayazhafiz
f2d3865315 Fix can AST walk 2022-05-08 15:17:59 -04:00
Ayaz Hafiz
4bfbe479c9 Useless comment 2022-05-08 15:08:20 -04:00
Ayaz Hafiz
798c28fccd Dryasdust was a popular word in 1860 2022-05-08 15:08:20 -04:00
Ayaz Hafiz
e31e89ac66 Mark and clear specializations 2022-05-08 15:08:20 -04:00
Ayaz Hafiz
da604e978e Use SpecializationId to mark specializations 2022-05-08 15:08:19 -04:00
Ayaz Hafiz
2cacda00eb Add some internal error assertions 2022-05-08 15:08:19 -04:00
Ayaz
d0bd08dbe0 Typo 2022-05-08 15:08:19 -04:00
Ayaz
4858979d6b Remove stale comment 2022-05-08 15:08:19 -04:00
Ayaz Hafiz
08beedb648 Improve codelink comment 2022-05-08 15:08:19 -04:00
Ayaz Hafiz
b3845c21bd Print able type variables correctly 2022-05-08 15:08:19 -04:00
Ayaz Hafiz
154b17d9f0 Correct instantiation of delayed opaques
I didn't realize that delayed instantiation of aliases instantiates
their real var, not the whole alias type. So prior to this, we were
wrapping all opaques in a structural `Alias(..)`. Which is okay from a
typechecking perspective because Aliases are transparent, but is
wasteful.
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
a47dc711f3 Remove a couple vec allocs 2022-05-08 15:08:19 -04:00
Ayaz Hafiz
5cc6727e9f Simplify introduced variables in ability member 2022-05-08 15:08:19 -04:00
Ayaz Hafiz
4a623a48dc Simpl decoder a bit 2022-05-08 15:08:19 -04:00
Ayaz Hafiz
e08b5fa91e Specializer->Resolver 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
08710c8153 Decoders now code-generate 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
13884c4ce6 Fix solve test 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
1a53daa665 Remove ability todo in mono 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
8bff2875b0 Account for ability specialization in reuse_symbol 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
5a5fc0162d FlexAble must always constrain a Flex 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
85b3110bea Typecheck decoder 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
f208f7b4a1 Ability members are functions too 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
638c446c2f Fix constraints 2022-05-08 15:08:17 -04:00
Ayaz Hafiz
bc0b82b97c Expand encode gen test 2022-05-08 15:08:17 -04:00
Ayaz Hafiz
474c18ab83 Handle recursion 2022-05-08 15:08:17 -04:00
Ayaz Hafiz
30ef59a591 Fix test import 2022-05-08 15:08:17 -04:00
Ayaz Hafiz
53c8ec3a57 Correctly aliasing of ability members 2022-05-08 15:08:17 -04:00
Ayaz Hafiz
645c0f2738 Don't eagerly walk down let bindings to specialize an ability 2022-05-08 15:08:17 -04:00
Ayaz Hafiz
e5eae75ad6 Ignore gen test, for now 2022-05-08 15:08:17 -04:00
Ayaz Hafiz
025d501cfd Determine ability specializations before walking a body 2022-05-08 15:08:17 -04:00
Ayaz Hafiz
edee222763 Add AbilityMember can variant for resolving ability specializations 2022-05-08 15:08:16 -04:00
Ayaz Hafiz
ebbcd57022 Make visitors public 2022-05-08 15:08:16 -04:00
Ayaz Hafiz
d2eb5e17ec Fill out can traversals 2022-05-08 15:08:16 -04:00
Ayaz Hafiz
f48792a173 Add encoder tests 2022-05-08 15:08:16 -04:00
Ayaz Hafiz
c1b1f60630 Coupon cutting 2022-05-08 15:08:16 -04:00
Ayaz Hafiz
a242a90416 Stale comment 2022-05-08 15:08:16 -04:00
Ayaz Hafiz
2e57bf0b6a Permit able variables in aliases, and thread them through 2022-05-08 15:08:14 -04:00
Ayaz Hafiz
01af970b49 Constraining ability members is the same as a usual def 2022-05-08 15:07:27 -04:00
Ayaz Hafiz
45134a547d Update solve test 2022-05-08 15:07:27 -04:00
Ayaz Hafiz
c67bc5a8d6 Remove when-related changes 2022-05-08 15:07:27 -04:00
Ayaz Hafiz
b5efd830e5 Solve and gen ability members that bind other able variables 2022-05-08 15:07:27 -04:00
Ayaz Hafiz
c01baa9168 Fix failing reporting tests 2022-05-08 15:07:27 -04:00
Folkert
b21a226281
simplify constraints 2022-05-08 20:11:12 +02:00
Folkert
7be41d8c09
remove unused variables from let/letrec 2022-05-08 20:06:00 +02:00
Mfon Eti-mfon
9068c2414e
Rename float functions and vars 2022-05-08 18:42:12 +01:00
Mfon Eti-mfon
de7fe31289
Update the Num builtin 2022-05-08 16:45:03 +01:00
Folkert
29a9564d36
and yet another result wrapper 2022-05-08 17:16:24 +02:00
Folkert
2e9477e011
remove another result wrapper 2022-05-08 17:16:13 +02:00
Folkert
d5b010cb13
remove unused Result wrapper 2022-05-08 17:16:00 +02:00
Mfon Eti-mfon
85c622b169
Update symbols definition 2022-05-08 15:54:34 +01:00
Brian Carroll
c93cfd0993
Merge pull request #3028 from rtfeldman/implement-wasm-num-pow-int
implement NumPowInt in wasm backend
2022-05-08 15:11:37 +01:00
Ayaz
31cc64b634
Merge pull request #3027 from rtfeldman/borrow-reference-matrix 2022-05-08 09:43:59 -04:00
Ayaz
21b4a4c38e
Merge pull request #3023 from rtfeldman/correct-opaque-delayed-aliases
Correct instantiation of delayed opaques
2022-05-08 09:39:42 -04:00
jonas schell
532055bf3b implement NumPowInt 2022-05-08 14:17:11 +02:00
Folkert
529ec39aeb
remove ven_graph from mono dependencies 2022-05-08 12:32:24 +02:00
Folkert
8be6957e9b
fix merge conflict 2022-05-08 12:29:52 +02:00
Folkert
90517f09a5
use matrix for SCCs 2022-05-08 12:19:33 +02:00
Folkert
fbbc31855d
update mono tests 2022-05-08 12:18:10 +02:00
Folkert
df9b5bd0f5
construct reference matrix 2022-05-08 12:18:10 +02:00
Folkert
c5b7ff98fd
move reference matrix 2022-05-08 12:18:10 +02:00
Ayaz
dd51479764
Merge pull request #3009 from rtfeldman/list-map-ownership
List map ownership
2022-05-07 19:59:15 -04:00
Richard Feldman
36f64d8496
Merge remote-tracking branch 'origin/trunk' into hostgen 2022-05-07 18:49:25 -04:00
Folkert
35eff878ae
fix two strings 2022-05-08 00:20:37 +02:00
Folkert
13d4b0c8c8
Merge remote-tracking branch 'origin/trunk' into update_zig_09 2022-05-08 00:03:39 +02:00
Folkert de Vries
97c7b01e55
Merge pull request #3019 from rtfeldman/cli-max-threads
Cli `--max-threads=<N>` option
2022-05-07 23:35:08 +02:00
Folkert
3ad16e1f45
assert condition 2022-05-07 23:00:56 +02:00
Folkert
6a736615e1
clarify BORROWED usage 2022-05-07 23:00:51 +02:00
Ayaz Hafiz
af3a677f12
Correct instantiation of delayed opaques
I didn't realize that delayed instantiation of aliases instantiates
their real var, not the whole alias type. So prior to this, we were
wrapping all opaques in a structural `Alias(..)`. Which is okay from a
typechecking perspective because Aliases are transparent, but is
wasteful.
2022-05-07 16:50:14 -04:00
Folkert
0bf284721b
all the comments 2022-05-07 22:47:16 +02:00
Folkert de Vries
e2383fec50
Merge pull request #3021 from rtfeldman/mono-fruit
Clean up some unused code paths in mono
2022-05-07 22:33:35 +02:00
Richard Feldman
5f7ef4c105
Merge pull request #3018 from rtfeldman/generalize-reduce-allocation
Generalize reduce allocation
2022-05-07 16:28:17 -04:00
Richard Feldman
51ee101bd1
Merge remote-tracking branch 'origin/trunk' into cli-max-threads 2022-05-07 16:23:41 -04:00
Folkert
d40e26c52e
revert to llvm-as/llc 2022-05-07 22:17:44 +02:00
Ayaz Hafiz
50bbf1349d
Revert "Drop another unused branch"
This reverts commit 19175a85d8.
2022-05-07 15:36:11 -04:00
Ayaz Hafiz
19175a85d8
Drop another unused branch 2022-05-07 15:04:35 -04:00
Ayaz Hafiz
7e58c4ddea
Unused var 2022-05-07 15:01:25 -04:00
Ayaz Hafiz
02bff35203
Remove dead let-identifier code 2022-05-07 15:01:04 -04:00
Folkert
58889507de
remove usage of llvm-as and llc 2022-05-07 20:47:23 +02:00
Folkert
81caa96af2
Merge remote-tracking branch 'origin/trunk' into update_zig_09 2022-05-07 19:38:04 +02:00
Folkert de Vries
24279e12d0
Merge pull request #3017 from rtfeldman/sweep-deps
Sweep unused deps
2022-05-07 18:38:37 +02:00
Richard Feldman
b9dbfa8c33
Always use 16B alignment for 128-bit ints 2022-05-07 10:52:31 -04:00
Richard Feldman
4763e828b7
Don't use mem::align_of in code generation!
See the comments added in this commit for the reason.
2022-05-07 10:28:19 -04:00
Richard Feldman
e272a720aa
Add ptr_alignment_bytes 2022-05-07 10:20:40 -04:00
Folkert
ec8b2cd8b1
get rid of num_cpus in favor of std:🧵:available_parallelism 2022-05-07 15:11:18 +02:00
Folkert
35bf66f650
hook up the max_threads flag 2022-05-07 14:18:28 +02:00
Folkert
2066999908
get the threading info into file.rs 2022-05-07 14:01:34 +02:00
Folkert
60e03226eb
formatting 2022-05-07 13:24:42 +02:00
Folkert
fa3eff6515
re-use a vector that already has a good capacity 2022-05-07 13:21:23 +02:00
Folkert
c308276c22
remove a to_vec() call 2022-05-07 13:20:53 +02:00
Folkert de Vries
a65d736f37
Merge pull request #3014 from rtfeldman/alias-in-opaque
Instantiate aliases in delayed alias args
2022-05-07 13:07:35 +02:00
Folkert de Vries
201d09d9bf
Merge branch 'trunk' into list-map-ownership 2022-05-07 11:59:51 +02:00
ayazhafiz
0626433a14 Sweep unused deps
`cargo +nightly udeps` told me what's good
2022-05-06 22:54:42 -04:00
ayazhafiz
afd68f103f Un-ignore test that works now 2022-05-06 22:21:39 -04:00
Ayaz
e8c2e96879
Merge pull request #3015 from rtfeldman/matrix-more-bitvec
Matrix more bitvec
2022-05-06 21:43:54 -04:00
Folkert
8a209334cc
use bitvec in the input for sccs 2022-05-07 00:39:15 +02:00
Folkert
13fc0f9a1e
make params.p use a bitvec 2022-05-06 22:55:18 +02:00
Folkert
b46de2f0a8
Revert "make params.p use a bitvec"
This reverts commit a2b04d35f7.
2022-05-06 22:55:06 +02:00
Folkert
2b1491189a
Revert "use bitvec for params.s"
This reverts commit 65ca5d33b3.
2022-05-06 22:48:59 +02:00
Folkert de Vries
e67ae7c922
Merge pull request #2817 from rtfeldman/i/2792
Fix llvm type errors for float functions
2022-05-06 22:34:45 +02:00
Folkert
65ca5d33b3
use bitvec for params.s 2022-05-06 22:23:32 +02:00
Richard Feldman
4c3c42f278
Merge pull request #3011 from rtfeldman/fmt-tests
Improved formatting tests
2022-05-06 16:17:57 -04:00
Folkert
a2b04d35f7
make params.p use a bitvec 2022-05-06 22:06:16 +02:00
Ayaz Hafiz
7e234d4550
Instantiate aliases in delayed alias args 2022-05-06 16:04:47 -04:00
Folkert
3e38dc80f5
use bitvec for group (internally) 2022-05-06 21:56:48 +02:00
Folkert de Vries
990823e6b7
Merge pull request #3010 from rtfeldman/polymorphic_lambda_set_usage
Better symbol specialization data structure, and handle closure specialization
2022-05-06 21:37:22 +02:00
Ayaz Hafiz
ebcd72f7af
Bindgen our first struct 2022-05-06 15:08:06 -04:00
Richard Feldman
281602d664
Merge pull request #3003 from rtfeldman/threading
Explicit single vs multithreading for build functions
2022-05-06 15:07:33 -04:00
Richard Feldman
36255b056b
Test expected == actual after verifying idempotence 2022-05-06 14:45:59 -04:00
Folkert
9e80673b1d
implement Num.round in the wasm backend like how the dev backend does it 2022-05-06 20:41:02 +02:00
Richard Feldman
a8991dc268
Trim inputs and expected in fmt tests 2022-05-06 14:37:23 -04:00
Richard Feldman
eb1d572b24
Test that modules reformat stably too 2022-05-06 14:37:23 -04:00
Richard Feldman
ad51624eb2
Write a better test for tui example 2022-05-06 14:37:23 -04:00
Richard Feldman
eb8e7d6a97
Verify stable formatting in fmt tests 2022-05-06 14:37:22 -04:00
Richard Feldman
c0f18f1c52
Move RemoveSpaces into fmt, for use in tests 2022-05-06 14:37:22 -04:00
Richard Feldman
7be5948476
Add formatter test 2022-05-06 14:37:22 -04:00
Ayaz Hafiz
2a4ed33530
We love the eta reductions 2022-05-06 14:32:54 -04:00
Folkert
07383e96f0
Merge remote-tracking branch 'origin/trunk' into i/2792 2022-05-06 20:17:53 +02:00
Folkert
64b633bea6
make round return an integer 2022-05-06 20:17:40 +02:00
Ayaz Hafiz
a0950e9321
impl ExactSizeIterator for VecMap 2022-05-06 14:10:16 -04:00
Ayaz Hafiz
abb9bb8169
Pretty print symbols 2022-05-06 13:37:22 -04:00
Ayaz Hafiz
2aeb06c9cb
Spellcheck 2022-05-06 12:21:42 -04:00
Richard Feldman
531d254bca
Fix parser tests
Regions changed in 15187024233795c059342adc3c23b8a148a7f26e
2022-05-06 12:10:08 -04:00
Richard Feldman
2c3731f7de
Drop an unnecessary lifetime annotation 2022-05-06 12:06:28 -04:00
Richard Feldman
dcea38dcf6
Add parse test for tui-platform/Package-Config.roc 2022-05-06 12:06:28 -04:00
Richard Feldman
8273775540
Improve test_parse error message 2022-05-06 12:06:28 -04:00
ayazhafiz
ef77ff35cf
Improve expectation for platform requires mismatch
```
── TYPE MISMATCH ───── examples/hello-world/rust-platform/./Package-Config.roc ─

Something is off with the type annotation of the main required symbol:

2│      requires {} { main : a -> a }
                             ^^^^^^

This #UserApp.main value is a:

    Str

But the type annotation on main says it should be:

    a -> a

────────────────────────────────────────────────────────────────────────────────
```
2022-05-06 12:06:27 -04:00
ayazhafiz
514af619f5
Store region of type annotation correctly 2022-05-06 12:06:27 -04:00
Richard Feldman
388f402a26
remove unnecessary clone (thanks, clippy!) 2022-05-06 12:06:27 -04:00
Ayaz Hafiz
77a1f644a4
Thread error message information for requires 2022-05-06 12:06:27 -04:00
Ayaz Hafiz
c7142da116
Correctly generate type constraints for required symbols in platform 2022-05-06 12:06:27 -04:00
Ayaz Hafiz
e8fbda44fc
Revert "Revert "Thread through symbols_from_requires""
This reverts commit 8ac1dfac1a.
2022-05-06 12:06:27 -04:00
Ayaz Hafiz
9e35cf9060
Unable function marks for symbol specializations 2022-05-06 12:03:35 -04:00
Ayaz Hafiz
e0bfe6c762
Make specialization symbols a two-layered VecMap 2022-05-06 11:58:02 -04:00
Richard Feldman
eb4fd05274
Use Threading::Single in wasm test helpers 2022-05-06 11:38:17 -04:00
Richard Feldman
a5ffb216c8
Merge pull request #3006 from rtfeldman/nunocf/migrating-docs
Migrating docs
2022-05-06 11:35:05 -04:00
Folkert
f140fad2b0
add the test that started this whole saga 2022-05-06 16:55:08 +02:00
Folkert
ae90f1ec7e
re-enable test 2022-05-06 16:47:29 +02:00
Folkert
e2b7056e20
add List.sort test 2022-05-06 16:45:50 +02:00
Folkert
0a2a43546c
add List.map RC tests 2022-05-06 16:39:05 +02:00
Folkert
61c2b20313
cleanup 2022-05-06 16:12:49 +02:00
Ayaz Hafiz
b4f5e62f46
Marks specializations for closure defs 2022-05-06 09:44:47 -04:00
Folkert
8c3a00f7aa
thread through an updatemodeids 2022-05-06 15:41:29 +02:00
Folkert
cfa331be02
handle sorting of unique lists 2022-05-06 15:28:56 +02:00
Nuno Ferreira
2c29a46968 removed code example as it was breaking CI 2022-05-06 15:18:07 +02:00
Folkert
f2c498c900
Merge branch 'list-is-unique-lowlevel' into list-map-ownership 2022-05-06 14:13:03 +02:00
Folkert
5755475b3a
add ListIsUnique lowlevel operation 2022-05-06 13:56:35 +02:00
Nuno Ferreira
a46555d14c Fixed mistake when porting over List docs 2022-05-06 12:02:57 +02:00
Nuno Ferreira
6e69349dc0 Migrated Dict 2022-05-06 11:26:24 +02:00
Nuno Ferreira
c0b04e2800 Migrated builtins/docs/Result.roc docs over to builtins/roc/Result.roc 2022-05-06 11:13:19 +02:00
Nuno Ferreira
b6294d1aa1 Merge branch 'trunk' of github.com:rtfeldman/roc into nunocf/migrating-docs 2022-05-06 11:00:17 +02:00
Nuno Ferreira
a4b0664d16 Migrated List.roc docs over to builtins/roc/List.roc 2022-05-06 10:59:58 +02:00
Folkert
8f5956fdfe
refactor 2022-05-06 10:26:44 +02:00