Commit graph

4668 commits

Author SHA1 Message Date
Ayaz Hafiz
3e3d3cc7f3
Type fixes 2023-07-12 14:21:28 -05:00
Ayaz Hafiz
b2d3b52bd5
First compile of erased lambdas 2023-07-12 14:21:28 -05:00
Ayaz Hafiz
cf74f849e1
Unpack erased captures 2023-07-12 14:21:28 -05:00
Ayaz Hafiz
fbad6bcb90
First pass at specialized erased 2023-07-12 14:21:28 -05:00
Ayaz Hafiz
2cb2e37fd7
Specialize erased 2023-07-12 14:21:28 -05:00
Ayaz Hafiz
d17d8c72ad
Exercise building erased function 2023-07-12 14:21:28 -05:00
Ayaz Hafiz
a1eb641bb6
how to build an erased fn 2023-07-12 14:21:27 -05:00
Ayaz Hafiz
cf30f02e01
Expr::FunctionPointer 2023-07-12 14:21:27 -05:00
Ayaz Hafiz
55fa8098d3
add a todo impl 2023-07-12 14:17:58 -05:00
Ayaz Hafiz
63db2c0eea
Add erased layout 2023-07-12 14:17:57 -05:00
Ayaz Hafiz
510a421748
Call erased functions 2023-07-12 14:14:25 -05:00
Ayaz Hafiz
558d7459b4
Fix merge conflicts 2023-07-12 14:14:25 -05:00
Ayaz Hafiz
929579d51d
Fix 2023-07-12 14:14:25 -05:00
Ayaz Hafiz
a6bb3ab03c
Get started on calling erased functions 2023-07-12 14:14:25 -05:00
Ayaz Hafiz
6312d75ee0
Add FunctionPointer layout 2023-07-12 13:59:50 -05:00
Ayaz Hafiz
a9e3f967a8
First pass at erased function layouts 2023-07-12 13:57:19 -05:00
Ayaz Hafiz
6e5a308557
Content variant ErasedLambda 2023-07-12 13:57:17 -05:00
Ayaz Hafiz
c459757062
Thread simple model of "ErasedLambdas" through proc layouts
But none of these paths are yet exercised.
2023-07-12 13:53:52 -05:00
Ayaz Hafiz
6eae480e36
Check in first erasure test 2023-07-12 13:53:52 -05:00
Ayaz Hafiz
16ebcba053
Use index 2023-07-12 13:53:51 -05:00
Ayaz Hafiz
6014370b91
Initial support for erasure in tests 2023-07-12 13:53:51 -05:00
Ayaz Hafiz
15ae7489a8
Unify erased lambda sets 2023-07-12 13:53:51 -05:00
Ayaz Hafiz
1d6f0d3d3f
Instantiate erased lambdas 2023-07-12 13:53:51 -05:00
Ayaz Hafiz
fb4c550a29
Erased symbol 2023-07-12 13:53:51 -05:00
Ayaz Hafiz
33b1b8236a
Break up SolveEnv 2023-07-12 13:53:51 -05:00
Ayaz Hafiz
15eef74a83
Shove more into a common env 2023-07-12 13:53:51 -05:00
Ayaz Hafiz
f8e377a055
Break up solve/solve into smaller modules 2023-07-12 13:53:50 -05:00
Ayaz Hafiz
44c4797d9a
Parameterize program solving on a FunctionKind
This new flag determines whether we should introduce a new kind to
represent lambda sets, or whether lambdas should be erased. The latter
is not yet implemented.
2023-07-12 13:53:50 -05:00
Ayaz Hafiz
60c98ea5d5
Stray clippy ignore 2023-07-12 13:53:50 -05:00
Folkert de Vries
ac25eef443
Merge pull request #5657 from roc-lang/drop-specialize-tail-recursive
use explicit stack to prevent stack overflow in drop specialization
2023-07-12 19:04:28 +02:00
Folkert
a50f013fce
cleanup after review 2023-07-12 17:55:21 +02:00
Richard Feldman
1d5c5b25ec
Merge remote-tracking branch 'origin/main' into linux64 2023-07-11 11:33:31 -04:00
Richard Feldman
19fc7775c7
Merge pull request #5644 from roc-lang/aarch64-code-model-fix
aarch64 linux error fix
2023-07-11 11:22:57 -04:00
Anton-4
b92bc4922e
segfault codemodel workaround 2023-07-11 16:18:22 +02:00
Folkert
da9482b7fa
inline pattern match 2023-07-10 21:17:58 +02:00
Folkert
8c666edbec
use explicit stack to prevent stack overflow in drop specialization 2023-07-10 21:14:30 +02:00
Folkert
2d616d1fe9
manual clippy fixes 2023-07-10 18:27:10 +02:00
Folkert
ef39bad7c6
auto clippy fixes 2023-07-10 18:27:08 +02:00
Anton-4
72c85efc83
switch to rust 1.67 2023-07-10 18:25:52 +02:00
Richard Feldman
b2ce9d1cc6
Merge pull request #5481 from wontem/fix_pizza
Fix desugar step for pizza operator
2023-07-10 09:46:35 -04:00
Folkert
6a19009acf
32-bit float mov instruction 2023-07-09 15:47:29 +02:00
Folkert
bb97c384bb
preserve semantics in the glue generation 2023-07-09 15:47:28 +02:00
Folkert
6d2d65bb1e
remove Boxed layout 2023-07-09 15:47:28 +02:00
Folkert
d64930c17f
remove box and unbox expressions 2023-07-09 15:47:28 +02:00
Folkert
a9813aeae7
use a NonNullableUnwrapped union for Box 2023-07-09 15:47:27 +02:00
Anton-4
03af6749ed
fmt 2023-07-05 19:39:20 +02:00
Anton-4
781fba8f73
aarch64 linux error fix
This fixes the error relocation R_AARCH64_MOVW_UABS_G0_NC cannot be used against local symbol
2023-07-05 19:34:00 +02:00
Kiryl Dziamura
6265aee033
Merge branch 'main' into fix_pizza 2023-07-04 15:31:57 +02:00
Kiryl Dziamura
1bb3c3d1dd
Make has have 4 identation spaces 2023-07-04 11:24:40 +02:00
Kiryl Dziamura
c90c399751
Test closure definition with parens around 2023-07-04 10:24:09 +02:00