Commit graph

5340 commits

Author SHA1 Message Date
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
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
Brendan Hansknecht
3d6c140a30
get minimal roc_dbg working 2023-11-29 21:05:49 -08:00
Brendan Hansknecht
b7f72eff86
add basic Dbg desugaring and LowLevelDbg 2023-11-29 21:05:48 -08:00
Richard Feldman
10470f33cc
Fix mono tests 2023-11-29 21:02:37 -05:00
Brendan Hansknecht
ead90313d8
Merge pull request #5775 from roc-lang/inspect-derive
Derive Inspect
2023-11-29 08:22:27 -08:00
Brendan Hansknecht
248976d632
fix wasm tests 2023-11-28 16:40:43 -08:00
Brendan Hansknecht
c49046291a
misc cleanup suggestions 2023-11-28 16:40:43 -08:00
Brendan Hansknecht
1b7fdc9522
deal with Frac * -> Dec 2023-11-28 16:40:43 -08:00
Brendan Hansknecht
01032c3b11
remove empty list test case for inspect 2023-11-28 16:40:43 -08:00
Brendan Hansknecht
4b911524ac
update gen_abilities tests to include edge case 2023-11-28 16:40:43 -08:00
Brendan Hansknecht
0586f2bac0
more formatting 2023-11-28 16:40:43 -08:00
Brendan Hansknecht
77e55c88bf
update cli logging test 2023-11-28 16:40:43 -08:00
Brendan Hansknecht
759fa9b7a6
roc format 2023-11-28 16:40:42 -08:00
Brendan Hansknecht
83bf3cbd3a
update tests 2023-11-28 16:40:42 -08:00
Brendan Hansknecht
9b181e1b3f
add inspect implementation for dict and set 2023-11-28 16:40:42 -08:00
Brendan Hansknecht
79a58843b5
fix mono tests with wrapping custom function 2023-11-28 16:40:42 -08:00
Brendan Hansknecht
32c3d49e85
ignore unimlemented ability test case 2023-11-28 16:40:42 -08:00
Brendan Hansknecht
153b4c6df1
add walk function to list autoderive 2023-11-28 16:40:42 -08:00
Brendan Hansknecht
21b68a2e27
add a set of currently failing mono tests for inspect 2023-11-28 16:40:42 -08:00
Brendan Hansknecht
5e36395369
correct Inspect custom impl to use Inspect.apply 2023-11-28 16:40:42 -08:00
Brendan Hansknecht
4c25c60cdc
expand ui tests for inspect 2023-11-28 16:40:41 -08:00
Brendan Hansknecht
c443bdcf4f
check_adhoc for inspect 2023-11-28 16:40:41 -08:00
Brendan Hansknecht
82cda1965c
use INSPECT_INSPECT_ABILITY instead of INSPECT_INSPECT 2023-11-28 16:40:41 -08:00
Brendan Hansknecht
6eedd08e5a
add Debug to FlatInspectable 2023-11-28 16:40:41 -08:00
Brendan Hansknecht
796c2b1ded
unwrap builtin opaques like NUM_NUM 2023-11-28 16:40:41 -08:00
Brendan Hansknecht
f2ab6b54f3
correct Inspect.opaque and Inspect.function to be function calls 2023-11-28 16:40:41 -08:00
Brendan Hansknecht
35078a2295
allow nat in DeriveInspect 2023-11-28 16:40:41 -08:00
Brendan Hansknecht
a1a563074d
expand ui tests to numbers 2023-11-28 16:40:41 -08:00
Brendan Hansknecht
2e486953be
put inspect tests in their own module 2023-11-28 16:40:40 -08:00
Brendan Hansknecht
3434d3154a
Ayaz's fix and first passing inspect test 2023-11-28 16:40:40 -08:00
Brendan Hansknecht
f0dee1f6e9
add missing ToInspector case 2023-11-28 16:40:40 -08:00
Brendan Hansknecht
c57bc4db11
add uitest to view bool inspect derive 2023-11-28 16:40:40 -08:00
Brendan Hansknecht
96b3cc300f
encode/encoder to inspect/inspector 2023-11-28 16:40:40 -08:00
Brendan Hansknecht
b8e644a1e3
add DbgFormatter to inspect 2023-11-28 16:40:40 -08:00
Richard Feldman
768b55b8c5
Add some Inspect.inspect tests, fix a bug 2023-11-28 16:40:40 -08:00
Richard Feldman
443f6593c5
Add Inspect.Inspect to subs and auto-derive 2023-11-28 16:40:40 -08:00