Stream: compiler development

Topic: voided tag constructor is unreachable


view this post on Zulip Dan G Knutson (Oct 20 2024 at 01:51):

I'm hitting this runtime error in a PR to roc-ray. From poking around a little, it has to be Ok vs Err as the tags in question. I see there's some previous conversation around avoiding open unions in Results, that seems related. But in our Effect module, everything is Result SomeConcreteType {} (rather than having [] in the error at the module boundary).

https://roc.zulipchat.com/#narrow/channel/231634-beginners/topic/void.20tag.20constructor.3F/near/449168127
https://github.com/lukewilliamboswell/roc-ray/pull/37

Has anyone run into this outside of what's been posted recently, or have any ideas?

view this post on Zulip Dan G Knutson (Oct 20 2024 at 07:05):

Luke fixed this by moving sounds to a roc heap, but I'm still confused about what was happening here at all.

view this post on Zulip Brendan Hansknecht (Oct 20 2024 at 07:06):

A rust platform solution fixed a roc app bug?

view this post on Zulip Brendan Hansknecht (Oct 20 2024 at 07:07):

I guess it changed the API and that just happened to fix things

view this post on Zulip Dan G Knutson (Oct 20 2024 at 07:08):

yeah I mean fixed as in audio works for us; I'm bothered because I think the problem is still there

view this post on Zulip Dan G Knutson (Oct 20 2024 at 07:08):

It might be a category of thing that goes away if the language is ditching Task wrappers?

view this post on Zulip Brendan Hansknecht (Oct 20 2024 at 07:08):

Probably a lambdaset bug?

view this post on Zulip Brendan Hansknecht (Oct 20 2024 at 07:09):

Task = more nested lambdas = more bugs in current roc

view this post on Zulip Dan G Knutson (Oct 27 2024 at 03:04):

For anyone else looking at this in the future, I was hitting this again using {} in the error type for another music-related platform effect, and found that putting a fake arbitrary type like Str in the error instead of {} was an effective workaround.


Last updated: Jul 06 2025 at 12:14 UTC