Commit Graph

24138 Commits

Author SHA1 Message Date
Ayaz Hafiz
8ca7f91fcd
Clippy 2023-03-30 18:25:31 -05:00
Richard Feldman
424b4aa772
Add Jonas Schell to sponsors in README
Signed-off-by: Richard Feldman <oss@rtfeldman.com>
2023-03-30 19:21:10 -04:00
Ayaz Hafiz
4936708b18
Add gen test 2023-03-30 18:20:09 -05:00
Ayaz Hafiz
247913dc20
Record all nested recursive structures an entry in the layout cache contains
If an entry in the layout cache contains recursive structures, the entry
is not reusable if the recursive structure is currently in the "seen"
set. The example elucidated in the source code is as follows:

Suppose we are constructing the layout of

```
[A, B (List r)] as r
```

and we have already constructed and cached the layout of `List r`, which would
be

```
List (Recursive [Unit, List RecursivePointer])
```

If we use the cached entry of `List r`, we would end up with the layout

```
Recursive [Unit, (List (Recursive [Unit, List RecursivePointer]))]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cached layout for `List r`
```

but this is not correct; the canonical layout of `[A, B (List r)] as r` is

```
Recursive [Unit, (List RecursivePointer)]
```

However, the current implementation only preserves this behavior for
structures that contain one recursive structure under them. In practice,
there can be structures that contain multiple recursive structures under
them, and we must be sure to record all those structures in the
layout-cache.
2023-03-30 18:15:35 -05:00
Ayaz Hafiz
a003451c1f
Add a SmallVec data structure that saves a list on the stack 2023-03-30 18:13:52 -05:00
Ayaz
344e4d7cf2
Merge pull request #5237 from roc-lang/null-pointer-expr 2023-03-30 15:49:51 -05:00
Folkert
4419e961c8
remove unneeded extern definitions 2023-03-30 21:36:30 +02:00
Folkert
d66ec6d34d
move RustGlue.roc closer to what we have on the ts branch 2023-03-30 21:20:45 +02:00
Folkert
09779f65ad
add NullPointer to mono::ir::Expr 2023-03-30 20:18:04 +02:00
Folkert de Vries
63cdd00d13
Merge pull request #5229 from roc-lang/macos-getting-started
mac readme updates
2023-03-30 09:15:12 +02:00
Richard Feldman
dca2d2afd8
Fix Str examples that were using small strings 2023-03-29 21:23:14 -04:00
Richard Feldman
f6f201f1d3
Update mono tests 2023-03-29 21:23:14 -04:00
Richard Feldman
40375a7256
Add some Str.fromUtf8 tests 2023-03-29 21:23:14 -04:00
Richard Feldman
c3c1b8d083
Add Str.walkUtf8 2023-03-29 21:23:13 -04:00
Richard Feldman
f7e96ecf82
Expand some Str docs 2023-03-29 21:23:13 -04:00
Folkert de Vries
7a77702e78
Merge pull request #5190 from roc-lang/pluggable-glue
Pluggable glue
2023-03-29 23:15:57 +02:00
Folkert
99a3c08911
bake roc_alloc and friends into the dynamic library for glue 2023-03-29 19:43:59 +02:00
Anton-4
5f778ceb0d
ci was not triggering 2023-03-29 19:41:40 +02:00
Anton-4
56c9bcb676
remove unnecessary commands 2023-03-29 18:02:28 +02:00
Anton-4
940e3ef29a
remove out of date warning
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-03-29 17:51:28 +02:00
Folkert
d67617e64b
when roc_panic is setjmp/longjmp, mark its linkage as internal 2023-03-29 15:03:30 +02:00
Folkert de Vries
52fa78aa8a
Merge pull request #5227 from roc-lang/basic-cli-3-1
update to basic-cli 3.1
2023-03-29 14:52:27 +02:00
Anton-4
06cf030527
update to basic-cli 3.1 2023-03-29 10:46:47 +02:00
Brendan Hansknecht
6714ada624
Merge pull request #5225 from roc-lang/utf8-range-slice-offset
fix end offset of fromUtf8Range
2023-03-29 07:30:15 +00:00
Brendan Hansknecht
457725e87f
fix end offset of fromUtf8Range 2023-03-28 18:53:47 -07:00
Folkert de Vries
294d32f62b
Merge pull request #5221 from roc-lang/fixes-for-nick
Fix a couple bugs Nick Hallstrom ran into
2023-03-29 01:34:17 +02:00
Folkert de Vries
5374cf21f2
Merge pull request #5205 from roc-lang/i4759
Remove inaccurate debug assertion in IR gen
2023-03-29 01:33:51 +02:00
Ayaz
37d4ff9fdc
Merge pull request #5222 from roc-lang/hash-bool
Implement Hash for Bool
2023-03-28 16:43:44 -05:00
Brendan Hansknecht
2f6f5c09a0
remove old windows specific symbols. Now added by glue 2023-03-28 14:40:50 -07:00
Brendan Hansknecht
6013adcba2
Merge remote-tracking branch 'origin/main' into pluggable-glue 2023-03-28 14:16:00 -07:00
Brendan Hansknecht
f0a7ca8d29
use cfg to avoid pulling unix only data into windows builds 2023-03-28 14:15:53 -07:00
Ayaz
39b637c4f7
Merge pull request #5210 from roc-lang/expect-tag-padding
expect tag padding
2023-03-28 15:09:43 -05:00
Ayaz Hafiz
2a9e0583bc
Remove inaccurate debug assertion in IR gen
There might be more symbols than field layouts when restructuring a
record if the record is a newtype.

Closes #4759
2023-03-28 15:06:44 -05:00
Ayaz Hafiz
f458da0cbc
Implement Hash for Bool 2023-03-28 15:04:45 -05:00
Ayaz Hafiz
92657b6f4c
Don't intern recursive unions with pointer-fixing if they've been resolved 2023-03-28 14:49:39 -05:00
Ayaz Hafiz
18858b9eb3
Get rid of inaccurate debug assertion 2023-03-28 14:19:43 -05:00
Folkert
c0f49ce62c
correctly add padding between data and tag id 2023-03-28 19:46:26 +02:00
Folkert
fb4a56e916
flip comparison order for better diffs 2023-03-28 19:45:31 +02:00
Ayaz
6de36f29f9
Merge pull request #5207 from roc-lang/tag-union-diffs
Improve tag union diffs
2023-03-27 13:29:44 -05:00
Anton-4
259a3d34ab
Merge pull request #5208 from yukiomoto/add-parentheses-to-nested-function-in-docs
Add missing parentheses of type annotation in docs
2023-03-27 20:21:27 +02:00
Richard Feldman
830a01f1f7
Merge pull request #5211 from dankeyy/patch-1
update roc-for-elm-programmers doc on tuples
2023-03-27 14:09:03 -04:00
Folkert de Vries
53851f5738
Merge pull request #5215 from roc-lang/fix-non-nullable-unwrapped-recursive-lset
Fix compilation problems with recursive lambda sets
2023-03-27 20:00:16 +02:00
Anton-4
137ea27f93
small README improvement 2023-03-27 19:27:06 +02:00
Ayaz Hafiz
3f532df981
Generate code for recursive nullable wrapped lambda sets 2023-03-27 10:11:49 -05:00
Ayaz Hafiz
0f73c25c0c
Add gen test for recursion var resolved upon specialization 2023-03-27 10:11:48 -05:00
Ayaz Hafiz
b8a0ff8e7c
Add a mono test for recursive lambda sets with late specialization 2023-03-27 10:11:26 -05:00
Ayaz Hafiz
e06eac9769
Be sure to unify recursion var structure if it hasn't been seen 2023-03-27 10:10:56 -05:00
Ayaz Hafiz
d2b9a1a33c
Improve debug printing for can decls 2023-03-27 10:10:56 -05:00
Anton-4
f55dbcacd1
fix pretty crate README link
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-03-27 14:04:34 +02:00
Yuki Omoto
f0e223a6b3
Fix clippy error 2023-03-27 20:43:51 +09:00