Commit graph

264 commits

Author SHA1 Message Date
Brendan Hansknecht
0ec14f33f5
first signs of life for glue with roc files 2023-03-05 12:33:43 -08:00
Brendan Hansknecht
b97a87a7a7
load dylib directly as spec for now 2023-03-05 12:33:43 -08:00
Brendan Hansknecht
f9f77a5a54
create a proper platform for roc glue 2023-03-05 12:33:43 -08:00
Brendan Hansknecht
b792071971
add dummy glue implementation in roc 2023-03-05 12:33:43 -08:00
Brendan Hansknecht
abdc84d927
create conversion code from Types to the roc version of Types 2023-03-05 12:33:43 -08:00
Brendan Hansknecht
8d8150e748
switch to associated lists since roc_std::roc_dict has not been updated yet 2023-03-05 12:33:42 -08:00
Brendan Hansknecht
f956be26c1
update roc types for glue 2023-03-05 12:33:42 -08:00
Brendan Hansknecht
09a3b2425f
update glue cli tests to generate directories 2023-03-05 12:33:42 -08:00
Brendan Hansknecht
69bd296099
switch tests to use list of files 2023-03-05 12:33:42 -08:00
Brendan Hansknecht
2f9e1ad539
change glue api to enable writing multiple files 2023-03-05 12:33:41 -08:00
Folkert
853c0387dc
cleanup 2023-03-05 17:33:48 +01:00
Folkert
180187e5af
get old examples to work 2023-03-01 21:56:14 +01:00
Folkert
fa05c49693
correct the name of the size() exposed function 2023-02-26 14:23:10 +01:00
Folkert
fee5e978f7
use roc_alloc to store unsized types 2023-02-25 16:45:58 +01:00
Folkert
f232bdda4f
fix some glue formatting 2023-02-25 16:32:10 +01:00
Folkert
1bf2cc3b8c
cleanup 2023-02-25 16:23:40 +01:00
Folkert
35980e50b8
fix function getters 2023-02-25 15:47:20 +01:00
Folkert
033618f3f4
fixes to get rocLovesRust to work 2023-02-22 21:17:50 +01:00
Folkert
b6bae82913
hello world works 2023-02-14 22:11:23 +01:00
Folkert
6c15284a8f
more wip; now we just need to generate the exposed procs at the right time 2023-02-08 22:56:38 +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
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
8750127111
Begin support for looping-back recursive pointers to their source layouts 2023-01-23 14:37:48 -06: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
Folkert
1ba4d9d735
WIP 2023-01-22 11:53:02 +01:00
dependabot[bot]
8801c147cb
Bump bumpalo from 3.11.0 to 3.11.1
Bumps [bumpalo](https://github.com/fitzgen/bumpalo) from 3.11.0 to 3.11.1.
- [Release notes](https://github.com/fitzgen/bumpalo/releases)
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fitzgen/bumpalo/compare/3.11.0...3.11.1)

---
updated-dependencies:
- dependency-name: bumpalo
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-21 15:06:17 +00:00
Folkert
c622cebea6
correct codegen for calling the extern 2023-01-20 15:07:49 +01:00
Folkert
1ac2c2bb80
add Unsized RocType variant 2023-01-18 23:38:25 +01:00
Folkert
01b6d234ff
WIP 2023-01-18 23:18:09 +01:00
Folkert
bb44063419
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman 2023-01-18 20:06:26 +01:00
Ayaz Hafiz
3d0a0a4a99
Update more dict/set references 2023-01-14 15:33:54 +01:00
Folkert
ee99ae2372
WIP 2023-01-13 20:42:23 +01:00
Folkert
b412765972
push extern name down 2023-01-12 19:02:52 +01:00
Folkert
6ead631c82
generate the RocFunction struct 2023-01-11 23:05:32 +01:00
Ayaz Hafiz
1960f429bd
Cleanup of lints 2023-01-11 14:39:12 -06:00
Ayaz Hafiz
55b8aaebda
Update roc glue 2023-01-11 14:39:11 -06:00
Ayaz Hafiz
e14a0abb99
Store target info on layout interners 2023-01-11 14:32:16 -06:00
Ayaz Hafiz
ce717dca8b
Do not require allocating Layouts in arena before interning
This should reduce memory spend, the interner has its own effective
arena anyway
2023-01-10 09:47:13 -06:00
Folkert
98ba49baf6
WIP 2023-01-08 14:49:13 +01:00
Folkert
1c1112ec35
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman 2023-01-04 20:45:01 +01:00
Ayaz Hafiz
50826d1a83
Inline interners into the layout interner module
I realized that we'll need to make the layout interner more complicated
to support things like recursive pointers pointing to their parents and
to support lambda set layout caching. Since the layout interner is the
only user of intern crate right now anyway, just inline the whole thing.
2023-01-03 14:19:39 -06:00
Ayaz Hafiz
b60d5c0251
Push wrapped layout interners through 2023-01-03 10:51:33 -06:00
Ayaz Hafiz
947158b17e
Stub out layout interners into own module 2023-01-03 10:07:12 -06:00
Ayaz
ea53a50447
Merge pull request #4836 from roc-lang/intern-layouts-2
Intern list element layouts and thread mut layout interner through LLVM backend
2022-12-29 18:41:35 -06:00
Ayaz
7076c889a5
Merge pull request #4828 from roc-lang/refactor-build
Refactor build
2022-12-29 18:41:22 -06:00
Folkert
92da3973e7
remove argument from load_and_typecheck 2022-12-29 16:50:19 +01:00
Ayaz Hafiz
e4b5252e51
List takes interned element 2022-12-29 08:52:37 -06:00
Ayaz Hafiz
7ab7fdfa7b
Push interned layouts as mut throughout the backend, and intern box layouts 2022-12-28 18:51:26 -06:00
Folkert
d287eafa3a
remove F128 2022-12-14 23:28:38 +01:00
Brendan Hansknecht
759130952d
fix glue generation for Dict and Set 2022-12-07 20:53:50 -08:00