Folkert
508f078d47
standardize derive order
2023-03-06 22:12:12 +01:00
Folkert
08f6774011
remove some todo!s
2023-03-06 22:11:56 +01:00
Brendan Hansknecht
43224dcca9
remove less important Cargo.lock files that we probably shouldn't track
2023-03-06 13:01:07 -08:00
Brendan Hansknecht
c9e4badd93
update as many dependencies as possible to use the workspace version of the package
2023-03-06 12:43:48 -08:00
Folkert
3455d315f3
deal with unions like Result a [] where a tag is elided
2023-03-06 21:43:17 +01:00
Brendan Hansknecht
21af20597e
remove unused dependencies
2023-03-06 12:09:00 -08:00
Folkert
53db40e2f4
dig into the lambda set to find more lambda sets
2023-03-06 20:23:48 +01:00
Brendan Hansknecht
5573ab2275
Merge branch 'glue-getters-rtfeldman' into pluggable-glue
2023-03-05 17:11:25 -08:00
Brendan Hansknecht
40cc5c24d1
fix some minor typos and get another test working
2023-03-05 12:33:46 -08:00
Brendan Hansknecht
c710defa09
get glue cli tests running again
2023-03-05 12:33:46 -08:00
Brendan Hansknecht
17ece67999
get roc glue working directly with .roc
plugin files
2023-03-05 12:33:46 -08:00
Brendan Hansknecht
b81ede5e2c
fix breakage due to roc changes
2023-03-05 12:33:46 -08:00
Brendan Hansknecht
3f8396d75c
readd target to Types
2023-03-05 12:33:46 -08:00
Brendan Hansknecht
aacf0649d7
add drop impl for nonrecursive tags
2023-03-05 12:33:46 -08:00
Brendan Hansknecht
ab9dc98d7b
split recursive and nonrecursive tag union functions
2023-03-05 12:33:46 -08:00
Brendan Hansknecht
b81cb48e97
add base of tag union type
2023-03-05 12:33:45 -08:00
Brendan Hansknecht
303a38f992
remove F128
2023-03-05 12:33:45 -08:00
Brendan Hansknecht
400d2322e0
correct escaping
2023-03-05 12:33:45 -08:00
Brendan Hansknecht
7a4b79aef1
add comment about removing Types
2023-03-05 12:33:45 -08:00
Brendan Hansknecht
605e4e82b8
add multi element single tag structs
2023-03-05 12:33:45 -08:00
Brendan Hansknecht
8b68dfd02f
add zero element single tag structs
2023-03-05 12:33:45 -08:00
Brendan Hansknecht
e2eebcce8a
add todo functions for each tag union type
2023-03-05 12:33:45 -08:00
Brendan Hansknecht
a3cf66f730
add enumeration generation
2023-03-05 12:33:45 -08:00
Brendan Hansknecht
3a6cfc5c20
complete derive impl
2023-03-05 12:33:45 -08:00
Brendan Hansknecht
6f528b627c
run roc format
2023-03-05 12:33:44 -08:00
Brendan Hansknecht
469182b53a
switch naming from of fields type to id
2023-03-05 12:33:44 -08:00
Brendan Hansknecht
d750b8536b
add derive default
2023-03-05 12:33:44 -08:00
Brendan Hansknecht
48ce687aa6
add derive copy and cleanup naming
2023-03-05 12:33:44 -08:00
Brendan Hansknecht
fb657f101d
add file header
2023-03-05 12:33:44 -08:00
Brendan Hansknecht
c0d31e3591
add struct generation
2023-03-05 12:33:44 -08:00
Brendan Hansknecht
428eccf1a7
setup rust-glue to use dictionaries
2023-03-05 12:33:44 -08:00
Brendan Hansknecht
155b53df8d
cleanup and correct types
2023-03-05 12:33:44 -08:00
Brendan Hansknecht
e6abd24945
add #[used] static variables to ensure that rust emits the roc_* functions
2023-03-05 12:33:43 -08:00
Brendan Hansknecht
f18a806bda
wire everything up
2023-03-05 12:33:43 -08:00
Brendan Hansknecht
e45c17f81d
remove unneeded explicit platform for glue
2023-03-05 12:33:43 -08:00
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
Brendan Hansknecht
436bfc41ed
disable glue test and update mono test
2022-12-03 13:17:36 -08:00
Richard Feldman
7d2fa63dca
Make roc_cache_dir() panic if it can't find $HOME
2022-11-20 20:54:03 -05:00
Richard Feldman
721841fa1f
Provide roc_cache_dir everywhere
2022-11-20 19:53:48 -05:00
Richard Feldman
36178b5f59
REVERT ME - add some debug info
2022-11-16 17:07:04 -05:00
Richard Feldman
58e672749c
Fix glue getter name synchronization
2022-11-16 17:06:21 -05:00
Richard Feldman
4ba59077b9
Return glue getters via pointer
2022-11-16 14:30:06 -05:00
Richard Feldman
53ab17d0e9
contains_functions -> has_varying_stack_size
2022-11-16 13:55:06 -05:00
Richard Feldman
781c151f17
Fix some more glue for getters
2022-11-16 13:26:45 -05:00
Richard Feldman
59e29bbb91
Allow unused variables in glue header
2022-11-16 13:26:09 -05:00
Richard Feldman
9b04480fdc
Make naming more consistent
2022-11-16 11:22:12 -05:00
Richard Feldman
b3f9ff562d
Silence some warnings
2022-11-16 10:51:57 -05:00
Richard Feldman
42f2d0941d
Fix some exhaustiveness errors with todo! for now
2022-11-16 10:38:27 -05:00
Richard Feldman
a9b116cbeb
Fix some exhaustivness errors in glue
2022-11-16 09:42:56 -05:00
Richard Feldman
8fc635efc3
Fix some glue borrow checker errors
2022-11-16 09:37:54 -05:00
Richard Feldman
2db6856dbf
Fix remaining glue type mismatches name: _,
2022-11-15 21:18:11 -05:00
Richard Feldman
66644f26a5
Use RocStructFields correctly in more places
2022-11-15 21:00:17 -05:00
Richard Feldman
5d062f901c
Fix a bunch of type mismatches
2022-11-15 20:48:11 -05:00
Richard Feldman
955ed673e3
Drop variant_size idea
2022-11-15 20:18:55 -05:00
Richard Feldman
f4c9d245b7
Revise Rust glue derive logic
2022-11-15 20:18:43 -05:00
Richard Feldman
6d54ec0ab8
Remove RocTags from glue
2022-11-15 20:09:25 -05:00
Richard Feldman
2de1b3f51d
Don't always derive PartialEq in glue
2022-11-15 20:09:01 -05:00
Richard Feldman
e5f4e08fec
wip
2022-11-15 16:41:51 -05:00
Richard Feldman
2122bcb563
Restore discriminant_offset
2022-11-15 12:17:40 -05:00
Richard Feldman
d3d21630e8
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman
2022-11-15 12:16:19 -05:00
Richard Feldman
8e2bbee377
Simplify how glue_procs are handled
2022-11-13 23:10:23 -05:00
Richard Feldman
746b2fdeb1
Further incorporate closures into glue
2022-11-12 18:08:30 -05:00
Richard Feldman
5b04c0e31d
Take closures into account with has_float_help
2022-11-12 15:51:05 -05:00
Richard Feldman
b943537068
s/glue_procs/glue_getter_procs for clarity
2022-11-12 04:19:55 -05:00
Richard Feldman
b06d90c405
Fix some single tag payload glue
2022-11-12 04:19:45 -05:00
Richard Feldman
c29d9ef682
Drop unused imports
2022-11-12 02:59:55 -05:00
Richard Feldman
3c80d8ee13
Thread glue procs into Types::new
2022-11-12 02:59:06 -05:00
Richard Feldman
d6490b8731
Don't hardcode glue to assume UNIX as the OS
2022-11-12 02:44:51 -05:00
Brian Carroll
b64514d7e4
Fix web REPL error formatting by routing the active Palette everywhere
2022-11-11 23:38:08 +00:00
Richard Feldman
99420f65ed
Merge branch 'glue-exposed' into glue-getters
2022-11-11 17:02:27 -05:00
Richard Feldman
cc190374b5
Inline Env::vars_to_types
2022-11-11 16:54:29 -05:00
Richard Feldman
7667aebebb
Avoid an allocation on variables
2022-11-11 16:53:56 -05:00
Richard Feldman
0c78716696
Fix glue for exposed-to-host-symbols
2022-11-11 16:43:36 -05:00
Richard Feldman
aca942864d
Extract Types::new and hide Env
2022-11-11 16:43:36 -05:00
Richard Feldman
1e7ffae62b
Only generate glue for exposed-to-host symbols
2022-11-11 16:42:28 -05:00
Richard Feldman
a0e450cadd
wip
2022-11-11 16:37:49 -05:00
Richard Feldman
c5037e7311
Extract Types::new and hide Env
2022-11-11 16:37:31 -05:00
Richard Feldman
15143e5aa7
Only generate glue for exposed-to-host symbols
2022-11-11 16:36:07 -05:00
Richard Feldman
f8fb4a1196
Add types::RocFn
2022-11-11 14:31:00 -05:00
Folkert
14cd48fce7
Merge remote-tracking branch 'origin/main' into rust-1-62-1
2022-11-09 13:51:51 +01:00
Ayaz Hafiz
281bc94b55
Remove FlatType::Erroneous
2022-11-08 14:11:25 -06:00
Richard Feldman
6486591201
Merge pull request #4462 from lukewilliamboswell/rust-docs
...
Rust docs update #2
2022-11-08 09:35:04 -08:00
Anton-4
590c61a6fd
Merge branch 'main' of github.com:roc-lang/roc into editor_launch_fix
2022-11-04 15:15:55 +01:00
Luke Boswell
a3f901427a
correct formatting and removed duplicate image
2022-11-03 20:02:10 +11:00
Luke Boswell
f3bdb5f321
updating rust package documentation
2022-11-03 20:00:06 +11:00
Ayaz Hafiz
05e8e6de6f
Disallow typing optional fields when required fields are annotated
...
Closes #4313
2022-10-18 15:50:20 -05:00
Anton-4
652dbde26e
editor launch fix + new test
2022-10-15 12:36:06 +02:00
Jan Van Bruggen
be3e4e7b11
De-bump all v0.1.0 Roc packages to v0.0.1
2022-10-09 00:16:19 -06:00
Ayaz Hafiz
73210469db
Add tests for env var passing
2022-10-05 14:36:34 -05:00
Ayaz Hafiz
1cffb3376e
Ignore can errors in glue tests
2022-09-30 13:40:35 -05:00
Richard Feldman
b6157e76b8
Fix type mismatch in exit code
2022-09-19 21:12:48 -04:00
Richard Feldman
ac68d75eec
Merge pull request #3989 from roc-lang/fix-glue-segfault
...
Fix glue segfault for newtype wrappers around recursive tag unions
2022-09-13 13:47:51 -07:00
dependabot[bot]
0079048944
Bump bumpalo from 3.10.0 to 3.11.0
...
Bumps [bumpalo](https://github.com/fitzgen/bumpalo ) from 3.10.0 to 3.11.0.
- [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.10.0...3.11.0 )
---
updated-dependencies:
- dependency-name: bumpalo
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 21:08:56 +00:00
Richard Feldman
f85f1b84a2
Merge pull request #3991 from roc-lang/glue-handle-multiple-modules
...
Add glue test case for multiple modules, and when anonymous type is reused
2022-09-12 13:55:41 -07:00
Ayaz Hafiz
0b2cea8c42
Move
2022-09-12 13:25:01 -04:00
Ayaz Hafiz
564d9f795a
Deal with equivalence in the presence of unresolved recursive pointers
2022-09-12 12:39:47 -04:00
Ayaz Hafiz
9eb1c170f3
Print unreachable id
2022-09-12 12:26:44 -04:00
Ayaz Hafiz
9f3a44d323
Remove redundant reference
2022-09-12 12:26:44 -04:00
Ayaz Hafiz
ea527f627f
Add test for multiple modules and anonymous string
2022-09-12 12:26:43 -04:00
Ayaz Hafiz
f1b5705b06
Re-use existing ID of added anonymous type, when possible
2022-09-12 12:26:43 -04:00
Ayaz Hafiz
15f66e3eaa
Add some tracing for debug purposes
2022-09-12 12:26:43 -04:00