Ayaz Hafiz
fcb907b0c9
Don't pass empty captures
2023-07-12 14:45:02 -05:00
Ayaz Hafiz
13c45151a4
Mono IR checker: check wanted function pointer layout
2023-07-12 14:45:01 -05:00
Ayaz Hafiz
e1c88c6101
Build erased types
2023-07-12 14:45:01 -05:00
Ayaz Hafiz
b8c1436a75
Pass less arguments around
2023-07-12 14:45:00 -05:00
Ayaz Hafiz
13d1232f7d
Erased functions do not take a func spec
2023-07-12 14:44:17 -05:00
Ayaz Hafiz
7c8e7bbea3
pub crate
2023-07-12 14:43:40 -05:00
Ayaz Hafiz
74d0f8d2e5
llvm types for erasure, function pointer
2023-07-12 14:43:40 -05:00
Ayaz Hafiz
2c826ea898
Model erasure in alias analysis
2023-07-12 14:43:39 -05:00
Ayaz Hafiz
f2f80f390d
Add erasure llvm test
2023-07-12 14:43:25 -05:00
Ayaz Hafiz
535eb80dfb
Clippy
2023-07-12 14:43:25 -05:00
Ayaz Hafiz
cd64134b0a
Allow direct packing, unpacking of erased types
2023-07-12 14:43:25 -05:00
Ayaz Hafiz
1d1db83cc7
Add needed file
2023-07-12 14:43:24 -05:00
Ayaz Hafiz
dc56a0ffef
First pass update erasure IR
2023-07-12 14:43:24 -05:00
Ayaz Hafiz
7ea85e44d2
Add Layout::Erased
2023-07-12 14:43:24 -05:00
Ayaz Hafiz
283b9d53d6
Add Expr::ErasedLoad
2023-07-12 14:42:46 -05:00
Ayaz Hafiz
2c838aa5c2
Add mono Expr::ErasedMake
2023-07-12 14:40:16 -05:00
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
Anton-4
8a3d07cb41
Merge pull request #5647 from roc-lang/wip-site-path-fix
...
wip site path fix
2023-07-12 10:18:24 +02:00
Luke Boswell
e9a5d16ca6
Merge branch 'main' into wip-site-path-fix
2023-07-12 17:18:04 +10:00
Richard Feldman
cdb1681e8e
Merge pull request #5577 from roc-lang/linux64
...
Update `roc build --target` to add more triples
2023-07-11 12:42:07 -04:00