Richard Feldman
c68dfdf61e
Drop some unused variants
2022-01-30 20:40:49 -05:00
Richard Feldman
c3123de737
format hosted modules
2022-01-30 20:40:49 -05:00
Richard Feldman
484ce2fbc9
Parse hosted modules
2022-01-30 20:40:49 -05:00
Richard Feldman
29caf5d301
Make macOS frameworks link properly
2022-01-30 11:01:31 -05:00
Folkert de Vries
eec0f840bd
Merge pull request #2427 from rtfeldman/assort-parse-fixes
...
Assorted low-hanging-fruit bug fixes
2022-01-30 13:58:27 +01:00
ayazhafiz
b50bb9a4c7
Centralize closure type
2022-01-30 00:48:01 -05:00
ayazhafiz
e54917a063
Expose type mismatches between recursive types and types that aren't
...
Closes #2166
2022-01-30 00:21:45 -05:00
ayazhafiz
84f8152514
Remove debug_assert that may legally check a false value
...
This may be false e.g. in the presence of a multiline string. Since the
parser is in a more stable state than when this was introduced, I think
this is OK to remove.
Closes #2398
2022-01-29 23:58:46 -05:00
ayazhafiz
8ae2d9d407
Parse interfaces with leading newlines
...
Closes #2420
2022-01-29 23:58:41 -05:00
hafiz
2d8bdfd863
Merge pull request #2417 from rtfeldman/i/2322
...
Inline polymorphic calls at usage sites
2022-01-29 16:13:43 -06:00
ayazhafiz
47a59c560c
Make test use an i64
2022-01-29 15:04:22 -05:00
Brian Carroll
d7f10d80ae
repl: Change LLVM macro to use address instead of pointer
2022-01-29 11:24:13 +00:00
ayazhafiz
5943873654
Inline polymorphic calls at usage sites
...
This is a bit.. ugly, or at least seems suboptimal, but I can't think of
a better way to do it currently aside from demanding a uniform
representation, which we probably don't want to do.
Another option is something like the defunctionalization we perform
today, except also capturing potential uses of nested functions in the
closure tag of an encompassing lambda. So for example,
```
f = \x -> \y -> 1
```
would now record a lambdaset with the data `[Test.f
[TypeOfInnerClos1]]`, where `TypeOfInnerClos1` is e.g.
`[Test.f.innerClos1 I8, Test.f.innerClos1 I16]`, symbolizing that the
inner closure may be specialized to take an I8 or I16. Then at the time
that we create the capture set for `f`, we create a tag noting what
specialization should be used for the inner closure, and apply the
current defunctionalization algorithm. So effectively, the type of the
inner closure becomes a capture.
I'm not sure if this is any better, or if it has more problems.
@folkertdev any thoughts?
Closes #2322
2022-01-28 23:49:19 -05:00
Brian Carroll
382ae948e1
Merge branch 'trunk' of github.com:rtfeldman/roc into repl_from_memory_trait
2022-01-28 12:49:33 +00:00
Folkert
684b873453
change name back ?!
2022-01-27 23:20:35 +01:00
Folkert
ee151c8f94
fix function name
2022-01-27 22:26:44 +01:00
Folkert
e31532360b
don't remove argument that is not pushed
2022-01-27 21:20:46 +01:00
Folkert
3ade77374a
Merge remote-tracking branch 'origin/trunk' into add_loop_examples
2022-01-27 16:49:47 +01:00
Brian Carroll
4a08fead1a
repl: Change lots of pointers to addresses
2022-01-27 09:40:18 +00:00
Folkert
7e28d557ec
improve how we generate the mainForHost function
2022-01-26 21:08:45 -07:00
Folkert
afd11e1cb1
move target -> roc_target
2022-01-26 23:33:29 +01:00
Folkert
b3d605cade
fix failing debug_assert
2022-01-26 20:22:18 +01:00
Folkert
7e38309364
make alignment target-specific
2022-01-26 17:24:52 +01:00
Folkert
fbd26c598e
provide target info to number alignment function
2022-01-26 17:19:53 +01:00
Folkert
0298013346
fix logical error
2022-01-26 17:03:49 +01:00
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