Commit graph

5385 commits

Author SHA1 Message Date
Brendan Hansknecht
64df1c6921
update uitest and mono_test 2023-12-05 14:13:18 -08:00
Brendan Hansknecht
a2cc17e8e9
write keepShared in a way that doesn't break dev-wasm 2023-12-05 14:12:10 -08:00
Brendan Hansknecht
37656f4cc0
update uitest and mono_test 2023-12-05 12:45:31 -08:00
Brendan Hansknecht
87b31a581e
roc format 2023-12-05 12:37:12 -08:00
Brendan Hansknecht
3f50f78eba
update tests and Dict.keepShared semantics 2023-12-05 12:37:12 -08:00
Brendan Hansknecht
a0854a10e7
optimize set intersection and union 2023-12-05 12:37:12 -08:00
Brendan Hansknecht
35146d1a0b
remove redundant size attribute 2023-12-05 12:37:11 -08:00
Brendan Hansknecht
b9ef582c26
correct size to avoid rehash 2023-12-05 12:37:11 -08:00
Brendan Hansknecht
7e04c1f58c
use constants to avoid new allocations in Dict.empty 2023-12-05 12:37:11 -08:00
Brendan Hansknecht
f31a4070e4
implement Dict.withCapacity and improve Dict.fromList 2023-12-05 12:37:11 -08:00
Brendan Hansknecht
6692f5b15d
correct counting bits to return a u8
Also add an impl to the dev backend
2023-12-05 12:37:10 -08:00
Brendan Hansknecht
e336aa525c
Merge pull request #6062 from JRMurr/div-0-should-crash
Update zig `@panic` calls to `roc_panic` for numeric errors
2023-12-05 12:28:47 -08:00
Anton-4
a57f29e780
Merge pull request #6184 from roc-lang/debug-info
Fix debug info
2023-12-05 14:03:52 +01:00
LoipesMas
00839e12b5 Run roc format 2023-12-05 00:24:08 +01:00
LoipesMas
a9196a9abb Add more generated files 2023-12-05 00:18:32 +01:00
LoipesMas
4225c9e8c7 Add generated test files 2023-12-05 00:10:02 +01:00
LoipesMas
d4a8208069 Add more test cases 2023-12-05 00:04:13 +01:00
Brendan Hansknecht
749faf4850
a few missed variable renames 2023-12-04 14:57:47 -08:00
LoipesMas
83ac8209ae Add Dict.keepIf, Dict.dropIf, Set.keepIf, Set.dropIf 2023-12-04 23:38:51 +01:00
Brendan Hansknecht
05c1b6c583
more debug info corrections 2023-12-04 14:27:02 -08:00
Brendan Hansknecht
dbcb6ca5da
clippy 2023-12-04 13:53:56 -08:00
Brendan Hansknecht
fc09c3b002
remove debugir 2023-12-04 13:50:53 -08:00
Brendan Hansknecht
034b86973b
keep stripping zig debug info to avoid 250ms cost 2023-12-04 13:38:25 -08:00
Brendan Hansknecht
da301df37b
separate emitting debug info from emitting llvm-ir 2023-12-04 13:13:30 -08:00
Brendan Hansknecht
496cd6710a
fix debug info and add it all to the llvm backend 2023-12-04 12:55:33 -08:00
Brendan Hansknecht
e1c850e2d1
update uitest and mono_test 2023-12-03 12:41:04 -08:00
Brendan Hansknecht
e5a0af5699
make DbgFormatter an unexposed implementation detail 2023-12-03 12:41:04 -08:00
Brendan Hansknecht
b04699acdf
change debug to call Inspect.inspect instead of inlining it
This is to workaround #6167 and can be reverted once it is fixed
2023-12-03 09:51:55 -08:00
Brendan Hansknecht
e8d2deca90
fix off by one in roc_dbg 2023-12-03 08:22:04 -08:00
Brendan Hansknecht
787d7f85ac
switch dbg arg ordering to make it backwards compatible 2023-12-02 21:18:32 -08:00
Brendan Hansknecht
6c60da2832
add dbg impl for use with roc test 2023-12-02 21:18:32 -08:00
Brendan Hansknecht
be17c0cadb
load world abilities sooner 2023-12-02 21:18:32 -08:00
Brendan Hansknecht
5e8974177c
avoid bloating parse expr size 2023-12-02 21:18:32 -08:00
Brendan Hansknecht
13d2238536
update roc_dbg in platforms 2023-12-02 21:18:31 -08:00
Brendan Hansknecht
3966d63e2f
add src and location to dbg 2023-12-02 21:18:31 -08:00
Brendan Hansknecht
4587c4ebc5
update uitest and mono_test 2023-12-02 21:18:31 -08:00
Brendan Hansknecht
4072a2a745
attempt to switch to inlined Inspect.inspect in autoderive 2023-12-02 21:18:31 -08:00
Brendan Hansknecht
4c2eb8b378
Change the generated inspect for Opaque types to print (@Opaque payload) 2023-12-02 21:18:30 -08:00
Ayaz
20bcd70ad2
Merge branch 'main' into div-0-should-crash 2023-12-02 20:10:32 -06:00
Becker A
14e04d65cf
Update Decode.roc
fixed typo

Signed-off-by: Becker A. <awqatty.b@gmail.com>
2023-12-02 18:33:17 -07:00
Brendan Hansknecht
e65f14fa49
Merge pull request #6090 from Gungy2/5830
Add `log` function to `Dec`
2023-12-01 22:02:35 -08:00
Richard Feldman
421f8d9c5c
Fix Str.walkUtf8 docs 2023-12-01 20:49:58 -05:00
Brendan Hansknecht
738098bfd0
Merge branch 'main' into 5830 2023-12-01 16:37:33 -08:00
Anton-4
a050933955
use latest basic-cli 2023-12-01 12:33:09 +01:00
Ayaz Hafiz
a53da2bc24
Make sure late specializations of opaques inherit Inspect as needed
A "late specialization" of a type is an ability specialization that
is not visible or needed until after type-specialization; i.e. during
monomorphization.

The `Inspect.toInspector` ability is special-cased for opaques that do
not claim or explicitly implement `Inspect`. In such cases, they are
treated as structural types, and given the immediate specialization of
`Inpect.inspectOpaque`.

However, prior to this commit, that special-casing would only be applied
during early specialiation (i.e. specializations visible during
generalized type inference). This commit applies the special case to
late specialization as well - the specialization decision for an opaque
type is always the specialization of the opaque type in the late case,
but now, when we go to look up the ambient lambda set of the
specialization, if it does not exist and corresponds to
`Inspect.toInspector`, we fall back to the immediate.

One concern I have here is that in a case like

```
Op := {}

x =
    dbg (@Op {})
```

the specialization of `Inspect.toInspector` for `Op` should be known
early. Indeed, the program

```
Op := {}

x =
    Inspect.toInspector (@Op {}) |> Inspect.apply (Inspect.init {}) |> Inspect.toDbgStr
```

Compiles fine without this change. This makes me suspect there is an
issue with the implementation of `dbg`'s desugaring. If possible, this
should be addressed sooner rather than later.

Closes #6127
2023-11-30 22:25:08 -06:00
Brendan Hansknecht
3e66254b25
update zig and rust platforms to have correct roc_panic and roc_dbg 2023-11-29 21:49:34 -08:00
Brendan Hansknecht
1f14aa84a2
misc cleanup suggestions 2023-11-29 21:05:56 -08:00
Brendan Hansknecht
b62c9667d5
Correct typo
Co-authored-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
Signed-off-by: Brendan Hansknecht <Brendan.Hansknecht@gmail.com>
2023-11-29 21:05:49 -08:00
Brendan Hansknecht
f5fb01fd53
Get tests passing
Add roc_dbg to some platforms.
Also start updating some roc_panic impls.
2023-11-29 21:05:49 -08:00
Brendan Hansknecht
e6cc43492a
rip out old dbg and setup reasonable base debug location info 2023-11-29 21:05:49 -08:00