Commit graph

8300 commits

Author SHA1 Message Date
Folkert
e9f7427c67
fix some things in Num 2022-04-08 20:24:17 +02:00
Folkert
4dafe08544
better debug messages 2022-04-08 19:51:20 +02:00
Folkert
ffd4566c29
remove code that saves Subs to a .dat file (it's located elsewhere now) 2022-04-08 19:51:05 +02:00
Folkert
795e24245c
generate all modules on this branch 2022-04-08 19:50:25 +02:00
Folkert
b7eacbf120
some tweaks to the builtin roc code 2022-04-08 19:35:26 +02:00
Folkert
0ccc5f8105
fix module names in builtin roc code 2022-04-08 18:55:41 +02:00
Ayaz
69ed0b755a
Merge pull request #2804 from rtfeldman/abilities-canonicalization
Basic canonicalization, error checking for abilities
2022-04-08 12:00:23 -04:00
Richard Feldman
b777b88e1c
Drop unused arguments field from ZeroArgumentTag 2022-04-08 11:53:16 -04:00
Richard Feldman
45b5df3a23
Extract constrain_tag helper function 2022-04-08 11:52:57 -04:00
Folkert
1d81dd6c8b
add import to Str.roc 2022-04-08 16:49:38 +02:00
Folkert
d6632981c8
update Num.roc 2022-04-08 16:47:17 +02:00
Folkert
beee95f83c
parse the header of builtins too 2022-04-08 16:02:30 +02:00
Folkert
1d0f9e9192
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-08 15:47:11 +02:00
Ayaz
33a5fc65ce
Update comment 2022-04-08 08:50:31 -04:00
Richard Feldman
8322ed95ed
Merge pull request #2806 from rtfeldman/toF32
Num.toF32/toF64 for LLVM backend
2022-04-08 08:28:07 -04:00
ayazhafiz
94a5cd3559 Improve shadow errors 2022-04-07 22:38:20 -04:00
ayazhafiz
02e1a98cac Remove redundant member 2022-04-07 22:19:30 -04:00
ayazhafiz
304a32ef0a Typo 2022-04-07 20:51:21 -04:00
Richard Feldman
bfb7bb3874
Update comment 2022-04-07 18:36:33 -04:00
Ayaz Hafiz
17b3c7d8ee
Generate type variables when there are lots
Closes #2797
2022-04-07 17:49:48 -04:00
Ayaz Hafiz
1edbe32252 Fix parse tests 2022-04-07 17:22:05 -04:00
Ayaz Hafiz
1ca3dad1e2 Allow complicated return type 2022-04-07 17:21:17 -04:00
Ayaz Hafiz
73bfff699f Handle symbols that shadow ability member definitions
Just add the shadowing symbol for now. We'll handle checking that a
specialization's type matches the member's type definition in a later
pass, during typechecking.
2022-04-07 17:21:17 -04:00
Ayaz Hafiz
884d07344e Clippy 2022-04-07 17:21:17 -04:00
Ayaz Hafiz
66ec1b4a84 Basic canonicalization and error checking for abilities 2022-04-07 17:21:17 -04:00
Richard Feldman
6adaf0905e
Fix missing * in type annotation 2022-04-07 16:29:17 -04:00
Richard Feldman
4dc7e61f3f
Move conversion tests to test_gen 2022-04-07 16:27:01 -04:00
Richard Feldman
a4233ad661
Add LLVM implementation for toF32/64 2022-04-07 16:13:58 -04:00
Richard Feldman
cd00a98636
Add toF32/64 and checked versions 2022-04-07 16:13:57 -04:00
Richard Feldman
bd623d65bc
Formatting whitespace 2022-04-07 16:13:57 -04:00
Ayaz
23bc8aab49
Merge pull request #2805 from rtfeldman/type-vs-value-defs
Split up Defs into TypeDef and ValueDef
2022-04-07 14:04:05 -04:00
Ayaz Hafiz
a12e40a310
Specialize polymorphic values before binding to pattern
Closes #2811
2022-04-07 14:03:29 -04:00
Ayaz Hafiz
c7d439136b
Flip refcount test symbols 2022-04-07 08:54:07 -04:00
Brian Carroll
9116770a00 wasm: Adjust List.map code gen for capacity 2022-04-07 09:29:42 +01:00
Brian Carroll
2b74e55240 Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-higher-order-calls 2022-04-07 09:03:34 +01:00
Ayaz Hafiz
d3b848fa46
Clippy 2022-04-06 22:24:14 -04:00
Ayaz Hafiz
a3ac68a41f
Split up Defs into TypeDef and ValueDef
Just a refactoring PR. This is useful because during canonicalization
we always process type defs first, then value defs. With abilities this
distinction continues to grow; in that case, we have patterns associated
with types that we want to process before patterns from values.
2022-04-06 22:18:57 -04:00
Ayaz
37729c08cc
Merge pull request #2802 from rtfeldman/abilities-multi-def-parse 2022-04-06 14:14:46 -04:00
Richard Feldman
c19f8acb8c
Merge pull request #2781 from rtfeldman/zig-macos
add target triple for zig on macos
2022-04-06 13:43:11 -04:00
Ayaz Hafiz
eee19bba2b
s/demands/members 2022-04-06 11:34:55 -04:00
Ayaz Hafiz
bd8333ebb1
Parse multiple abilities behind each other 2022-04-06 11:20:51 -04:00
Ayaz Hafiz
2dc0445f46
s/AbilityDemand/AbilityMember
This is a better name
2022-04-06 11:20:34 -04:00
Ayaz
d58300e016
Merge pull request #2799 from rtfeldman/i/2583
Unify type alias "real variables"
2022-04-05 18:40:02 -04:00
Ayaz Hafiz
72b93e51f1
Bugfix 2022-04-05 18:08:24 -04:00
Ayaz Hafiz
886e5a0c8f
Don't unify real vars when there are no type variables, or nothing changed 2022-04-05 17:51:30 -04:00
Folkert de Vries
d3a3b6456a
Merge pull request #2800 from rtfeldman/parse-out-dec-suffix
Make sure float suffixes are parsed out after can
2022-04-05 23:43:15 +02:00
Ayaz Hafiz
9fbc525d02
Make sure float suffixes are parsed out after can
Before we hit mono, we need to make sure the suffixes of numeric
literals are parsed out from the literal string, so that we don't try to
parse something whose type we already know but has the extraneous
suffix.

Co'ed with @tagraves
2022-04-05 11:32:34 -04:00
Ayaz Hafiz
163c6b39d6
Unify type alias "real variables"
Turns out that we can't always assume that a successful unification of
type alias type variables means that those aliases had the same real
type from the start. Because type variables may contain unbound type
variables and grow during their unification (for example,
`[InvalidNumStr]a ~ [ListWasEmpty]b` unify to give `[InvalidNumStr,
ListWasEmpty]`), the real type may grow as well.

For this reason, continue to explicitly unify alias real types for now.
We can get away with not having to do so when the type variable
unification causes no changes to the unification tree at all, but we
don't have a great way to detect that right now (maybe snapshots?)

Closes #2583
2022-04-05 11:21:52 -04:00
Richard Feldman
08466380df
Merge pull request #2798 from rtfeldman/wasm-fix-dec-isfinite
Wasm: fix Num.isFinite for Dec
2022-04-04 20:58:46 -04:00
Richard Feldman
b35cc6ac8c
Merge pull request #2795 from rtfeldman/i/2582
Deal with fastcc return-by-pointer convention correctly
2022-04-04 20:14:49 -04:00