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