Commit graph

3187 commits

Author SHA1 Message Date
J.Teeuwissen
ca4615929b
Start reuse 2023-03-08 14:22:51 +01:00
J.Teeuwissen
e5a5108fd8
lowlevel_borrow_signature 2023-03-04 13:23:15 +01:00
J.Teeuwissen
9d9a6ea05a
refcount Dbg, ExpectFx, Expect 2023-03-01 12:00:51 +01:00
J.Teeuwissen
0070d3708e
Shuffled variable_usage_expr 2023-03-01 10:52:10 +01:00
J.Teeuwissen
046de72eac
only process ByName for now 2023-02-26 12:21:05 +01:00
J.Teeuwissen
73e36b826b
join point fixed point 2023-02-26 10:18:31 +01:00
J.Teeuwissen
756d4d6485
body_env 2023-02-25 17:55:12 +01:00
J.Teeuwissen
336c821284
Temp fix for recursive joint points 2023-02-24 17:52:02 +01:00
J.Teeuwissen
0afe94e6db
Start new free var inference and joint points 2023-02-23 16:12:25 +01:00
J.Teeuwissen
9c73b5041a
stash 2023-02-22 17:43:43 +01:00
J.Teeuwissen
7df9e17be0
Stash comment 2023-02-20 11:53:22 +01:00
J.Teeuwissen
09809b9bd6
Comments and cleanup 2023-02-18 14:35:24 +01:00
J.Teeuwissen
8721ae73e8
switch logic 2023-02-11 16:17:13 +01:00
J.Teeuwissen
20af312818
VarRcType 2023-02-10 15:32:59 +01:00
J.Teeuwissen
26a9b919d9
simplified insert_refcount_stmt 2023-02-10 13:12:10 +01:00
J.Teeuwissen
ae499137e4
start right to left evaluation with environment 2023-02-08 15:01:35 +01:00
J.Teeuwissen
1fa96257ed
clear work tree 2023-02-08 12:38:06 +01:00
J.Teeuwissen
957f44966c
start perceus reference count 2023-01-26 17:13:29 +01:00
Folkert
3417a0e059
fix silent merge request wrt record accessors 2023-01-25 00:02:19 +01:00
Ayaz
ad84e02abf
Merge pull request #4950 from roc-lang/keep-recptr-index
Initial support for linking recursive pointer layouts back to their source layouts
2023-01-24 14:42:00 -06:00
Folkert de Vries
8e5efe67b4
Merge pull request #4912 from roc-lang/remove-polymorphic-expression-compilation
Rip out polymorphic expression compilation
2023-01-24 21:35:08 +01:00
Folkert de Vries
7aaf0f3822
Merge pull request #4916 from roc-lang/rust1_65
upgrade to rust 1.65 and clippy fixes
2023-01-24 14:14:10 +01:00
Brian Carroll
ac45fa2bba
Merge pull request #4683 from roc-lang/gen-wasm-shr-128
gen_wasm: Implement u128 right shift by delegating to compiler_rt
2023-01-24 00:36:27 +00:00
Ayaz Hafiz
7f284a753b
Lints 2023-01-23 17:09:05 -06:00
Ayaz Hafiz
8ad185fd1a
opaque pointers fit in a register in x86 2023-01-23 17:08:47 -06:00
Brian Carroll
5179057fc5
gen_wasm: implement NumIntCast for i128 2023-01-23 22:39:24 +00:00
Brian Carroll
a249e14ee5
builtins: restore nicer hash code for Dict 2023-01-23 22:39:24 +00:00
Ayaz
a7c415dc35
Merge pull request #4940 from joshuawarner32/tuple-solve
Initial implementation of tuples in type checking
2023-01-23 16:25:35 -06:00
Ayaz Hafiz
efd7d71dc4
Use Layout::NAKED_RECURSIVE_PTR and update comments 2023-01-23 16:10:54 -06:00
Brian Carroll
28d6d000ec
gen_wasm: Implement u128 right shift by delegating to compiler_rt 2023-01-23 22:07:40 +00:00
Ayaz Hafiz
8edbd3b378
Eliminate uses of RECURSIVE_PTR directly 2023-01-23 16:04:55 -06:00
Folkert de Vries
0b1ee3faeb
Merge pull request #4931 from thehabbos007/list-with-capacity
gen_dev: x86 Add `List.withCapacity` implementation
2023-01-23 23:00:35 +01:00
Ayaz Hafiz
37d9307fbf
Call insert_recursive for union layouts 2023-01-23 15:40:40 -06:00
Ayaz Hafiz
59144f6e29
Unused var 2023-01-23 14:37:49 -06:00
Ayaz Hafiz
695b2e6363
Fix a bug by not recording normalized layouts 2023-01-23 14:37:49 -06:00
Ayaz Hafiz
7169d0974d
Add support for interning normalized recursive layouts 2023-01-23 14:37:49 -06:00
Ayaz Hafiz
8750127111
Begin support for looping-back recursive pointers to their source layouts 2023-01-23 14:37:48 -06:00
Anton-4
1f2b39a521
Merge branch 'main' of github.com:roc-lang/roc into rust1_65 2023-01-23 18:27:33 +01:00
Joshua Warner
303e5bceb3
Fix tuple accessor type printing 2023-01-22 13:22:39 -08:00
Joshua Warner
de828416bf
Initial implementation of tuples in type checking
This leaves in place a bunch of TODOs and likely many bugs - notably, I haven't tested codegen/layout at all here.
2023-01-22 12:40:44 -08:00
Ayaz
25f1d8d54f
Merge pull request #4942 from JTeeuwissen/typo
fixed typo
2023-01-22 13:52:04 -06:00
J.Teeuwissen
b8f9684a01
fixed typo 2023-01-22 15:31:02 +01:00
J.Teeuwissen
28c18aa211
values_mut 2023-01-22 15:28:36 +01:00
Ayaz Hafiz
f6da8275ec
Record changed variables if any nested variable has changed
When we unify variables in mono, we must invalidate the sections of the
layout cache reached by those variables. Previously we did this by
recording changed variables as those that were `merge`d. However this is
not enough; we must also record all the parent types they came from. The
reason is we may have something like

```
Alias (Foo, a) ~ Alias (Bar, U8)
```

where we will merge `a = U8` but we do not merge the aliases.

Closes #4919
2023-01-21 12:37:21 -06:00
Ayaz Hafiz
d4e8fe81cb
Update mono tests 2023-01-21 12:37:10 -06:00
Ayaz Hafiz
bfb7bc39a7
Register top-level accessors as functions 2023-01-21 12:37:09 -06:00
Ayaz Hafiz
f0ab9f77ca
Don't mark accessors as thunks 2023-01-21 12:37:09 -06:00
Ayaz Hafiz
6b491c617e
Store def name on accessor functions 2023-01-21 12:37:09 -06:00
Ayaz Hafiz
36f8ed6478
Rip out polymorphic expression compilation
We no longer need this except for number literals, which are simple to
handle.
2023-01-21 12:37:09 -06:00
Folkert
3f72bc7222
clippy 2023-01-21 15:58:33 +01:00