Commit Graph

404 Commits

Author SHA1 Message Date
Anton-4
12f9bacf6e
fix errors 2024-08-10 12:39:02 +02:00
Anton-4
635e6058cc
allow glue check toggle 2024-08-10 12:28:37 +02:00
Brendan Hansknecht
9110457480
cleanup refcount generation for record fields 2024-07-13 10:39:59 -07:00
Brendan Hansknecht
3198ed5c8e
minimal generation to get glue tests passing 2024-07-13 10:39:58 -07:00
Brendan Hansknecht
2cd0d51409
add RocRefcounted to RocBox 2024-07-13 10:39:58 -07:00
Brendan Hansknecht
386f7a6729
update glue fixtures to new syntax 2024-07-13 10:39:58 -07:00
Brendan Hansknecht
6da61d0d16
re-enable glue tests and add unimplemented RocRefcounted impl 2024-07-13 10:39:58 -07:00
Brendan Hansknecht
9a020100a9
skip broken glue tests for now 2024-07-13 10:39:56 -07:00
Brendan Hansknecht
c79febb52d
Change RocRefcounted to have argumentless inc function
Just inc by 1. No need for inc by n.
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
442ba0b49a
Manually implement RocRefcounted in Glue
I needed to update RustGlue.roc to generate this.
That said, I want to see and measure results.
As such, I am just manually implementing this for now!
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
93fab26c01
Add a RocRefcounted trait in roc_std
This is required to properly handle refcounting of RocList.
Without it, we can't tell if we need to get the length from the heap.
That said, it isn't a pretty solution.

I think dealing with generating bespoke type in glue would feel nicer than this but be much more work.
It also would deal with the issue of implementations in the bitcode not matching external libraries.
That said, it would require exposing way more symbols from roc for each monomophorphized list variant.
2024-07-13 10:39:51 -07:00
Brendan Hansknecht
69d670d27e
Merge pull request #6878 from roc-lang/glue-borrow
Update rust glue to allow for borrowing payloads from tags
2024-07-07 15:23:14 -07:00
Ayaz Hafiz
0e52a7e069
Make sure FunctionKind is determined in all entry points
There are a lot of entry points for a Roc program. They should probably
be all consolidated into one, but for now, when FunctionKind is needed,
determine it from the environment. This fixes EXPERIMENTAL_ROC_ERASE for
`roc test` etc.

Also print the location of a failure when `internal_error!` is called. I
think this should panic instead, and I thought it used to - does anyone
know if that changed?
2024-07-07 16:01:14 -05:00
Folkert
d5394345de
format RustGlue.roc 2024-07-06 16:14:33 +02:00
Folkert
047779d981
WIP infer join points too 2024-07-06 16:14:29 +02:00
Folkert
92100d710d
better panic message when glue command fails 2024-07-06 16:08:59 +02:00
Brendan Hansknecht
20a1f3c359
Update rust glue to allow for borrowing payloads from tags 2024-07-05 23:30:05 -07:00
Anton-4
c54c0e9741
skip advanced_recursive_union
see #5924
2024-06-19 15:37:14 +02:00
Agus Zubiaga
2da7ea394b
Add --main flag to specify app/package to resolve deps from 2024-06-07 17:09:44 -03:00
Luke Boswell
ddccf8ff59
update glue platform files to new syntax 2024-05-05 16:46:34 +02:00
Anton-4
c303be7553
Merge branch 'main' into rust-1-76-0-upgrade 2024-04-30 19:36:01 +02:00
Luke Boswell
87feeb5135
add abilities for glue types 2024-04-24 08:45:29 +10:00
Anton-4
e4b814ce1c
clippy 2024-04-15 16:50:44 +02:00
Anton-4
e26ef8abf9
clippy 2024-04-12 17:40:34 +02:00
Anton-4
62d39e8c25
clippy fixes 2024-04-06 18:11:54 +02:00
Oskar Hahn
aec618d5fc
Remove the .1 version libapp.so and the fileextension .1.0 2024-04-01 12:41:09 +02:00
Brendan Hansknecht
6dc5bfb1b7
Use roc_target over target_lexicon
Tailors a target class for our needs.
Replaces tons of uses across the entire compiler.
This is a base for later adding new targets like thumb.
2024-03-31 10:50:26 -07:00
Anton-4
f620508a37
misc improvements 2024-03-04 17:10:59 +01:00
Richard Feldman
24a38c4a26
Merge remote-tracking branch 'origin/main' into remove-nat 2024-02-11 12:26:36 -05:00
Anton-4
3c7a834da1
update to new interpolation syntax 2024-02-02 13:39:10 +01:00
Brendan Hansknecht
81dcaeceef
Update test_glue_cli to use surgical and legacy linker
I am hoping this will increase the changes of hitting a repro of #5924 with the legacy linker.
2024-01-30 22:30:30 -08:00
Brendan Hansknecht
f3b934c444
skip more broken glue tests on linux 2024-01-30 20:32:52 -08:00
Richard Feldman
3e27e18566
Merge remote-tracking branch 'origin/main' into remove-nat 2024-01-29 07:23:58 -05:00
Folkert de Vries
eadc0d37cd
Merge pull request #6448 from roc-lang/dev-backend-glue-new
glue with the dev backend works again
2024-01-29 11:51:12 +01:00
Anton-4
1c62a41fad
Merge pull request #6333 from roc-lang/rust-1-72-upgrade
Rust 1.72 upgrade
2024-01-29 04:32:40 +01:00
Richard Feldman
3264d9ec8e
Merge pull request #6432 from jaredly/fix-glue
Fix syntax errors from RustGlue's tag generated code
2024-01-28 16:33:19 -05:00
Anton-4
4da0b005f6
forgot &
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2024-01-28 17:30:38 +01:00
Folkert
4fe383eb43
cleanup 2024-01-28 16:39:20 +01:00
Anton-4
f09b4aaac4
skip nullable_wrapped too
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2024-01-28 16:35:34 +01:00
Anton-4
70f33f1a07
disable glue_cli_run::option,closures 2024-01-28 16:03:25 +01:00
Luke Boswell
be5c538763
fix glue TypeId 2024-01-28 10:57:43 +11:00
Folkert
685025a240
a working dev-backend RustGlue.roc
with 2 caveates

- list reallocation does not work (so we make fresh allocations instead
- List.append in the glue main function causes a segfault. we use a concat with a single-element list instead
2024-01-28 00:36:07 +01:00
Folkert
2786e8ff7f
refactor glue roc calling logic 2024-01-27 18:14:12 +01:00
Brendan Hansknecht
689a930082
Merge remote-tracking branch 'origin/main' into rust-1-72-upgrade 2024-01-27 08:07:48 -08:00
Luke Boswell
d5b05f4321
fix spelling 2024-01-27 14:03:20 +11:00
Luke Boswell
88330c7f33
add files to zig glue 2024-01-27 13:46:53 +11:00
Luke Boswell
62ec6ad8ea
fix glue InternalTypeId.roc 2024-01-27 13:43:29 +11:00
Richard Feldman
d909cc5961
Update glue to no longer use Nat 2024-01-26 16:06:07 -05:00
Jared Forsyth
bbbbb12e90 Fix syntax errors from RustGlue's tag generated code
```rs
    /// A tag named ``DirReadErr``, with the given payload.
    pub fn DirReadErr(f0: UnwrappedPath, f1: roc_std::RocStr) -> Self {
        Self {
            f0
            f1
        }
    }
```
becomes
```rs
    /// A tag named ``DirReadErr``, with the given payload.
    pub fn DirReadErr(f0: UnwrappedPath, f1: roc_std::RocStr) -> Self {
        Self {
            f0,
            f1
        }
    }
```
2024-01-26 11:00:00 -06:00
On vacation
4ee3431428
Merge branch 'main' into rust-1-72-upgrade 2024-01-26 13:39:34 +01:00