You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This works well, but it's hard to disambiguate the result of a program.
Without changing behaviour, we could put each tag behind a unique reference, that way we still get their names at the end, and we could possibly use that to rebuild the constructors during readback.
type Option = (Some val) | None
# could be
Option/SOME = 0
Option/NONE = 1
Option/Some = @val @x (x Option/SOME val)
Option/None = @x (x Option/NONE)
This has the drawback of making pattern matching take 1 extra dereference interaction.
The text was updated successfully, but these errors were encountered:
Currently, constructors are encoded using a numeric tag to differentiate between them:
This works well, but it's hard to disambiguate the result of a program.
Without changing behaviour, we could put each tag behind a unique reference, that way we still get their names at the end, and we could possibly use that to rebuild the constructors during readback.
This has the drawback of making pattern matching take 1 extra dereference interaction.
The text was updated successfully, but these errors were encountered: