Commit graph

2277 commits

Author SHA1 Message Date
Folkert
5aa29c4e8b
morphic + reset/reuse 2022-11-15 22:06:09 +01:00
Ayaz
2cc9c32c37
Merge pull request #4523 from roc-lang/fix-alias-analysis-bugs
Collect deeply nested type names in alias analysis
2022-11-15 14:46:55 -06:00
Folkert de Vries
8a494d11b4
Merge pull request #4524 from roc-lang/fix-expects-macos
Fix inline expects on macos
2022-11-15 19:48:35 +01:00
Folkert
98b88fef16
fix a weird merge conflict 2022-11-15 19:46:36 +01:00
Folkert de Vries
5e5218fc7e
Merge pull request #4501 from roc-lang/types-soa-variable-opt
Emplace variables after converting SoA types, and remove types from constraining
2022-11-15 18:35:56 +01:00
Ayaz Hafiz
b6f53f22c3
Fix inline expects on macos
MacOS SIGUSR1 is signal 30, not 10 as it is on Linux.
At least on MacOS clang, we need the added headers to the c platform's
host to compile correctly.
2022-11-15 09:30:28 -06:00
Ayaz Hafiz
3723071c15
Collect deeply nested type names in alias analysis
Previously we only collected type names that appeared on the surface of
a type during alias analysis, but certain types that need to be named
(i.e. recursive types) may be observed only when we actually convert the IR
to the morphic IR. Make sure we collect those appropriately.

This is a cherry pick of the relevant changes in #4121.
2022-11-15 09:23:28 -06:00
Ayaz Hafiz
b30e8fc9b2
Remove Cells from Types 2022-11-15 09:00:16 -06:00
Folkert de Vries
de472015f6
Merge pull request #4505 from roc-lang/fix-web-repl-palette
Fix web REPL error formatting by routing the active Palette everywhere
2022-11-15 15:49:37 +01:00
Folkert
18574560d3
clippy 2022-11-15 10:02:57 +01:00
Ayaz Hafiz
f4fcb9f421
Fix Types types 2022-11-14 15:37:25 -06:00
Ayaz Hafiz
28f4b1ac56
Allow lints 2022-11-14 15:15:21 -06:00
Ayaz Hafiz
a52e9d605d
Remove unneeded type storage in constraining 2022-11-14 15:15:21 -06:00
Ayaz Hafiz
5564796927
SoA Types get variable emplacement (!)
We're now reaching the steady state we want to be closert to - when a
type is translated to a variable, emplace the variable we created for it
in the type index, so that types are never converted again!
2022-11-14 15:15:19 -06:00
Joshua Warner
ca5d084497
Implement tuple pattern parsing
Step 2 of N in implementing #4465
2022-11-13 16:11:57 -05:00
Richard Feldman
5f74e10d32
Merge pull request #4515 from roc-lang/workspace-dependencies
Workspace dependencies
2022-11-13 11:44:29 -08:00
Folkert
662bf1de99
more workspace dependencies 2022-11-13 16:10:02 +01:00
Folkert
2c23a106f2
make inkwell a workspace dependency 2022-11-13 15:00:48 +01:00
Folkert
031866799a
use inkwell's FunctionIterator 2022-11-13 14:51:24 +01:00
Ayaz
b907f01f1f
Merge pull request #4507 from roc-lang/alias-analysis-rc-recursion
fix stack overflow in alias analysis
2022-11-12 12:54:06 -06:00
Joshua Warner
f4ce4bf983
Implement parsing for tuple accessor functions (.1, .2, etc)
Step 2 of N toward implementing #4465
2022-11-12 09:56:29 -05:00
Folkert
78b89cb894
handle RC along with lets in alias analysis to limit recursion depth 2022-11-12 13:42:10 +01:00
Brian Carroll
ed048c7c93
Fix more tests 2022-11-12 09:12:28 +00:00
Brian Carroll
894697b284
Build fixes 2022-11-12 08:46:18 +00:00
Ayaz Hafiz
bf1b688afb
Eliminate indirect reference 2022-11-11 21:16:27 -06:00
Ayaz Hafiz
b03a1d3efd
eliminate type 2022-11-11 21:16:27 -06:00
Ayaz Hafiz
689fc10308
Use variable instead of type 2022-11-11 21:16:26 -06:00
Ayaz Hafiz
721c4cb1e6
Use variable instead of type 2022-11-11 21:16:26 -06:00
Ayaz Hafiz
d416b8b184
Do not clone return type 2022-11-11 21:16:26 -06:00
Ayaz Hafiz
bd9c9cc184
Replace busted gen test with reporting test 2022-11-11 21:16:26 -06:00
Ayaz Hafiz
3897c46a7b
Do not clone signature 2022-11-11 21:16:26 -06:00
Ayaz Hafiz
de17bab87c
Do not clone signature 2022-11-11 21:16:25 -06:00
Ayaz Hafiz
410413aa96
Do not clone return type 2022-11-11 21:16:25 -06:00
Ayaz Hafiz
8107c30a4b
Coalesce instantiated type indices 2022-11-11 21:16:25 -06:00
Ayaz Hafiz
764cc4d1d8
Do not clone annotation type 2022-11-11 21:16:25 -06:00
Ayaz Hafiz
cf1982733e
Do not clone signature closure type 2022-11-11 21:16:25 -06:00
Ayaz Hafiz
1ab8742d71
Do not clone return type 2022-11-11 21:16:24 -06:00
Ayaz Hafiz
16f622b0df
Eliminate clone of signature 2022-11-11 21:16:24 -06:00
Ayaz Hafiz
75ad2ffede
Do not clone signature closure type 2022-11-11 21:16:24 -06:00
Ayaz Hafiz
b0be1ed08e
Do not clone return type 2022-11-11 21:16:24 -06:00
Ayaz Hafiz
9e09914be2
Remove unused functions 2022-11-11 21:16:24 -06:00
Ayaz Hafiz
02d3c73d9c
Mark internal functions as pub(crate) 2022-11-11 21:16:24 -06:00
Ayaz Hafiz
c66a0f53c6
Remove str_type 2022-11-11 21:16:24 -06:00
Ayaz Hafiz
f1180a1549
Byte deletion party 2022-11-11 21:16:23 -06:00
Ayaz Hafiz
54f4a70a0b
Explain evil 2022-11-11 21:16:23 -06:00
Ayaz Hafiz
a2e90c3709
Fix types SoA usage in solve 2022-11-11 21:16:23 -06:00
Ayaz Hafiz
6b5f632364
[skip-ci] Fix borrow issues in constraining 2022-11-11 21:16:22 -06:00
Ayaz Hafiz
59d2de5a55
Constrain with Types SoA, sans borrow checker 2022-11-11 21:16:05 -06:00
Ayaz Hafiz
e3ef9828c7
Store solve aliases as TypeTag 2022-11-11 21:16:05 -06:00
Ayaz Hafiz
e3dbf5c09c
Use capacity when constructing aliases 2022-11-11 21:16:04 -06:00