Commit graph

4062 commits

Author SHA1 Message Date
Ayaz
14ac58f781
Merge pull request #5362 from jarlah/replace-panic-with-internal-error 2023-05-03 19:27:09 -05:00
Jarl André Hübenthal
e5eb5717ea
replace panic! with internal_error! in compiler modules 2023-05-03 22:11:21 +02:00
Folkert de Vries
27d477124d
Merge pull request #5372 from roc-lang/fix-false-debug
Determine host-exposed lambda sets once based on proc variable
2023-05-03 18:35:03 +02:00
Ayaz
ba1f8ffe5f
Merge pull request #5272 from extemporalgenome/markdown-typos-20230410
markdown typo fixes
2023-05-03 10:24:52 -05:00
Ayaz Hafiz
0744ef946b
Determine host-exposed lambda sets once based on proc variable
Rather than calculating the HELS for each host-exposed layout (of which
there may be multiple), we only need to calculate the HELS based on the
top-level type of the host-exposed function.

Also renamed `GlueProcs.extern_names` to
`GlueProcs.legacy_layout_based_extern_names` since they are still
currently generated based on the layout, but I think we want to generate
all HELS via type variable.

Fixes false-interpreter builds in debug.
2023-05-03 10:00:50 -05:00
Ayaz Hafiz
df3bd79d4a
Simplify occurs check for aliases 2023-05-02 17:00:58 -05:00
Ayaz Hafiz
8ca1e6c866
Correct occurs cycle under alias argument but not alias real var
At times we can have alias arguments that are recursive in their
position, but whose recursiveness is not immediately visible in the real
var.

Closes #5330
2023-05-02 17:00:58 -05:00
Ayaz Hafiz
8dc86a81b8
Rename ROC_VERIFY_OCCURS_RECURSION flag 2023-05-02 17:00:58 -05:00
Ayaz Hafiz
5815807927
seen_recursion_pair is immutable 2023-05-02 17:00:58 -05:00
Ayaz
4824de5192
Merge pull request #5363 from roc-lang/i5344
Correctly include flex vars in generalization group of rec defs
2023-05-02 16:44:29 -05:00
Ayaz
7897495ee2
Update gen_primitives.rs
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-05-02 15:40:45 -05:00
Ayaz Hafiz
d4fcd83ba9
Correctly include flex vars in generalization group of rec defs
Rather than resetting the list here, we should append to it!

Closes #5344
2023-05-02 13:18:50 -05:00
Ayaz Hafiz
d13e221678
Print variables if asked to 2023-05-02 13:08:58 -05:00
Ayaz Hafiz
155375062a
Fmt 2023-05-02 10:52:49 -05:00
Ayaz
19c04c69c0
Merge branch 'main' into i5318
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-05-01 18:47:56 -05:00
Ayaz
12b2f7e00b
Merge pull request #5317 from roc-lang/i4770
Various bug fixes to generalization and solving of recursion
2023-05-01 18:14:00 -05:00
Ayaz Hafiz
a9975b1f7f
Crash at runtime rather than panicking when if condition is erroneous
Closes #5318
2023-05-01 15:48:05 -05:00
Ayaz Hafiz
bdba56ce74
New IR just dropped 2023-05-01 15:11:37 -05:00
Ayaz
cdf8677dfb
Merge pull request #5287 from roc-lang/i5236
Catch non-recursive function arity mismatches during typechecking
2023-05-01 14:46:20 -05:00
Ayaz Hafiz
561a9e0037
Mark ignored test 2023-05-01 13:15:32 -05:00
Ayaz Hafiz
1916a6dba5
Add mono test for #4770
Closes #4770
2023-05-01 13:14:59 -05:00
Ayaz Hafiz
238e64c0b3
Defer resolution of a recursion variable during union unification until merging
While unifying two unions, we may turn one of them into a recursive
union. If we don't recognize the recursiveness before merging, we'll
have lost the recursive value of the union.
2023-05-01 13:14:59 -05:00
Ayaz Hafiz
5ec2715820
Correctly introduce new recursion variables at the correct rank 2023-05-01 13:14:59 -05:00
Ayaz Hafiz
7beee4e1f3
Add a way to print ranks in uitest 2023-05-01 13:14:59 -05:00
Ayaz Hafiz
190990155e
Correctly introduce new openness variables at the union rank 2023-05-01 13:14:58 -05:00
Folkert
6594fc0a90
fully implement our crude memcpy 2023-05-01 18:41:51 +02:00
Folkert
fa5b18685a
re-use proc's symbol 2023-05-01 18:41:50 +02:00
Folkert
9f8077c3a3
allow no_data return value 2023-05-01 18:41:50 +02:00
Folkert
2e7f53fe4a
copy of boxed 2023-05-01 18:41:50 +02:00
Folkert
5a08acba44
clippy 2023-05-01 18:41:49 +02:00
Folkert
560b48a9cb
never use the module name in exposed strings 2023-05-01 18:41:49 +02:00
Folkert
66be08d073
allow configure of whether roc_alloc is generated 2023-05-01 18:41:47 +02:00
Folkert
f921bfc1a7
fully implement exposed functions in dev backend 2023-05-01 18:39:11 +02:00
Folkert
f9f4d5eb49
infra for exposed_generic in the dev backend 2023-05-01 18:39:10 +02:00
Brendan Hansknecht
2769f3dc60
add missing symbols to dev object files on unix 2023-05-01 08:38:23 -07:00
Brendan Hansknecht
6ea3340442
specify dev roc objects do not require an exec stack (required by ld) 2023-05-01 07:07:48 -07:00
Anton-4
b0d10a134a
clippy fix 2023-05-01 13:17:39 +02:00
Anton-4
6f0c76f7b3
fixed mono tests 2023-05-01 12:13:30 +02:00
Folkert de Vries
a5a91d428f
Merge pull request #5336 from roc-lang/dev-backend-list-map
dev backend: many more builtins
2023-05-01 10:20:15 +02:00
Folkert de Vries
5183bf0196
Merge pull request #5335 from JTeeuwissen/drop_specialization
Drop specialization
2023-04-30 21:14:06 +02:00
Folkert de Vries
42f2a96a3a
Merge pull request #5327 from JTeeuwissen/symbol_tags
symbol_tag instead of layout_tag
2023-04-30 18:26:01 +02:00
J.Teeuwissen
362bdb97ea
using correct id 2023-04-30 16:55:08 +02:00
J.Teeuwissen
297658caba
Merge branch 'main' into symbol_tags 2023-04-30 16:35:22 +02:00
J.Teeuwissen
9c286ea8f2
llvm RefCountIsUnique without zig 2023-04-30 16:22:13 +02:00
J.Teeuwissen
e2042debfd
feedback 2023-04-30 12:01:01 +02:00
Brendan Hansknecht
e520eaddcc
Merge pull request #5333 from roc-lang/wasm-flow
Fix misc wasm compilation issues
2023-04-29 20:43:58 +00:00
J.Teeuwissen
b8a2ea1bf2
Merge branch 'main' into drop_specialization 2023-04-29 18:31:12 +02:00
Anton-4
ff6ec21a09
Merge pull request #5324 from roc-lang/rust_version_upgrade
WIP Rust version upgrade
2023-04-29 18:01:04 +02:00
J.Teeuwissen
042482a19f
pipeline 2023-04-29 17:59:17 +02:00
J.Teeuwissen
231feb2fe2
assuming recursive rc 2023-04-29 15:31:27 +02:00