Commit graph

6624 commits

Author SHA1 Message Date
Folkert
b9c318e9fb update the tests 2022-01-26 15:59:21 +01:00
Folkert
c663a35e16 final phase 2022-01-26 15:44:24 +01:00
Folkert
0ed259a80d phase 3 2022-01-26 14:37:32 +01:00
Folkert
74932a4cab phase 2 2022-01-26 14:30:37 +01:00
Folkert
7e90812332 ptr_bytes -> target info, step 1 2022-01-26 14:28:26 +01:00
Folkert
456404ccfe add some helpers 2022-01-26 14:01:53 +01:00
Folkert
2d23adb2a1 add roc_target crate 2022-01-26 13:55:06 +01:00
Richard Feldman
0c5f9ffd2a
Merge pull request #2401 from rtfeldman/tea-example
Our first elm architecture example
2022-01-25 21:26:41 -05:00
Folkert
9ee7198e45 and another 2022-01-25 15:23:53 +01:00
Folkert
3137e14a85 another test fix 2022-01-25 13:37:30 +01:00
Folkert
b72ad31a89 fix more tests 2022-01-25 12:05:13 +01:00
Folkert
97d14f421d Merge remote-tracking branch 'origin/trunk' into fix-lambda-set-debug-instance 2022-01-25 09:25:20 +01:00
Folkert
062846b7ee fix test compilation 2022-01-25 09:23:42 +01:00
Folkert
5580eafb68 Merge remote-tracking branch 'origin/trunk' into tea-example 2022-01-25 09:20:59 +01:00
Folkert
73bc50c952 make the surgical linker aware of custom exported closure names 2022-01-25 00:13:22 +01:00
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