Folkert de Vries
6dd769aa38
Merge pull request #2393 from rtfeldman/i/2343
...
Generate unique symbols for shadowing identifiers
2022-01-24 11:49:51 +01:00
Folkert de Vries
ce6d53b57f
Merge pull request #2399 from rtfeldman/i/2365
...
Collect tags from extension variables during monomorphization
2022-01-24 11:48:26 +01:00
Richard Feldman
0f7c19cd60
Merge pull request #2396 from rtfeldman/move_error_macros
...
Move macros from roc_reporting to new roc_error_macros module
2022-01-23 22:13:46 -05:00
Richard Feldman
53b1959d9d
Merge pull request #2395 from rtfeldman/JanCVanB-patch-2
...
Add some missing exposures to docs
2022-01-23 22:12:14 -05:00
ayazhafiz
e7b506646b
Refinements from @folkertdev review
2022-01-23 19:00:32 -05:00
Folkert
eb08c12099
format as
aliases with parens
2022-01-23 21:45:06 +01:00
Folkert
f76a75b00e
formatting fixes
2022-01-23 21:25:20 +01:00
Folkert
69bcec71eb
mark provided types as exposed, so we don't get warnings they are unused
2022-01-23 18:44:50 +01:00
Mats Sigge
71f359fbdc
Move macros from roc_reporting to new roc_error_macros module
...
The `internal_error!` and `user_error!´ macros can't be used everywhere
when they live in `roc_reporting` due to circular dependencies.
2022-01-23 18:40:04 +01:00
Jan Van Bruggen
29303c4ba4
Add some missing exposures to docs
2022-01-23 12:38:39 -05:00
Jan Van Bruggen
7b22b42a8f
Fix args order in some docs
...
These changes reflect the builtins as they're currently implemented, but I wish that instead they worked as (previously) described. Should this PR be abandoned in favor of an actual argument swap?
2022-01-23 12:37:36 -05:00
ayazhafiz
095204ec7a
Fix can tests
2022-01-23 12:35:31 -05:00
ayazhafiz
0eede1cd86
Generate unique symbols for shadowing identifiers
...
This code has a shadowing error:
```
b = False
f = \b -> b
f b
```
but prior to this commit, the compiler would hit an internal error
during monomorphization and not even get to report the error. The reason
was that when we entered the closure `\b -> b`, we would try to
introduce the identifier `b` to the scope, see that it shadows an
existing identifier, and not insert the identifier. But this meant that
when checking the body of `\b -> b`, we would think that we captured the
value `b` in the outer scope, but that's incorrect!
The present patch fixes the issue by generating new symbols for
shadowing identifiers, so deeper scopes pick up the correct reference.
This also means in the future we may be able to compile and execute code
with shadows, even though it will still be an error.
Closes #2343
2022-01-23 12:35:31 -05:00
Folkert
6545968c34
import UserApp's provided types into the Package-Config module
2022-01-23 18:33:50 +01:00
ayazhafiz
3692b38447
Disable wasm tests for now
2022-01-23 12:33:22 -05:00
ayazhafiz
b2f2fcd6a8
Collect tags from extension variables during monomorphization
...
Fixes #2365
2022-01-23 12:33:22 -05:00
Richard Feldman
4fadc775e8
Add parse tests snapshot
2022-01-23 12:20:35 -05:00
Richard Feldman
1ab621dd54
Support optional spaces in app header types
2022-01-23 12:02:34 -05:00
Richard Feldman
01942fd98e
Parse app header provided types
2022-01-23 11:52:59 -05:00
Richard Feldman
c1c0ffb25f
Use UppercaseIdent over PlatformRigids
2022-01-23 11:13:23 -05:00
Richard Feldman
620e3f2913
parse tests for provided/required types in module headers
2022-01-23 10:11:17 -05:00
Folkert
8698ea3c72
update mono tests
2022-01-23 15:46:53 +01:00
Folkert
fbf3ba77e9
fix debug impl
2022-01-23 15:44:42 +01:00
Richard Feldman
b42cc3d625
Merge pull request #2392 from rtfeldman/tag-join-points
...
Improve code gen of tags in join points
2022-01-22 22:42:22 -05:00
Richard Feldman
638c56442c
Delete commented-out line
2022-01-22 22:41:41 -05:00
Richard Feldman
0e8d20418a
Merge pull request #2387 from rtfeldman/add_builtins_Num.minmaxIU816
...
Add `Num.(min/max)(I/U)(8/16)` builtins
2022-01-22 22:40:35 -05:00
Folkert
38b03282fd
working version of joinpoints with phi nodes
2022-01-23 00:46:32 +01:00
Folkert
7baec2b201
make tag allocas at the function entry point block
2022-01-23 00:21:18 +01:00
ayazhafiz
48a3e871e8
Report self-recursive aliases at their declaration site, not in usages
...
Closes #2380
2022-01-22 14:26:32 -05:00
Jan Van Bruggen
14ef9be3d2
Sort Num.(min/max)*
builtin symbol defs
2022-01-22 00:19:17 -07:00
Jan Van Bruggen
9a8a4c6ed7
Add Num.(min/max)(I/U)(8/16)
builtins
2022-01-22 00:19:17 -07:00
Jan Van Bruggen
38f0a3717f
Extract repeated min/max logic
2022-01-22 00:00:29 -07:00
Folkert
2c139100ca
fix big error
2022-01-21 23:30:04 +01:00
Eric Newbury
7919cd9fee
add test
2022-01-21 17:08:43 -05:00
Eric Newbury
a96d5e6abf
Merge branch 'trunk' into enewbury/list-sort-desc
2022-01-21 17:06:52 -05:00
Eric Newbury
7e7104d9ba
WIP
2022-01-21 16:46:47 -05:00
Eric Newbury
05c01a81f5
adding List.sortAsc builtin
2022-01-21 15:34:24 -05:00
Folkert de Vries
c0ea664141
Merge pull request #2375 from rtfeldman/expression-monomorphization-inlined
...
Monomorphize polymorphic non-function values
2022-01-21 20:10:42 +01:00
Brian Carroll
992105930b
Merge pull request #2363 from rtfeldman/wasm-refactor-lowlevels
...
Wasm: refactor low-level ops
2022-01-21 07:16:45 +00:00
Richard Feldman
83f12b6e53
Merge pull request #2361 from rtfeldman/cleanup_builtins_Num.minmaxI128
...
Remove leftover TODOs from #2354
2022-01-20 18:21:29 -05:00
Richard Feldman
eacbb956cf
Merge pull request #2360 from rtfeldman/builtins-using-builtins
...
using builtins from builtins
2022-01-20 18:20:50 -05:00
ayazhafiz
b281ea8c2c
Make var_contains_content
a loop
2022-01-20 18:09:04 -05:00
ayazhafiz
53be0e2674
Reduce visibility of partial exprs
2022-01-20 17:56:43 -05:00
ayazhafiz
25db1189af
Monomorphize expressions in refcount test
2022-01-20 10:23:13 -05:00
Brian Hicks
f2ae02213a
remove deprecated symbols and reorder remainder
2022-01-20 08:29:30 -06:00
Folkert de Vries
82c7e8c37e
Merge pull request #2372 from rtfeldman/effect-forever
...
Add `Effect.forever`
2022-01-20 09:16:32 +01:00
ayazhafiz
e7e2fa063f
Specialize polymorphic values in record updates
2022-01-20 01:23:31 -05:00
ayazhafiz
8fd139ba67
Handle unspecialized symbols captured in closures
2022-01-20 00:34:11 -05:00
Richard Feldman
6d8277ad8d
Merge pull request #2367 from rtfeldman/remove_Num.minmaxInt
...
Remove `Num.(min/max)Int`
2022-01-20 00:19:44 -05:00
ayazhafiz
649695f6e3
Fix wasm refcount tests
2022-01-19 23:21:29 -05:00