Open pravdomil opened 10 months ago
Thanks for reporting this! To set expectations:
Finally, please be patient with the core team. They are trying their best with limited resources.
To me it seems somewhat confusing to call single-variant types "or":
type or Email
= Email { local : Local, domain : Domain }
that is how it works now, it it still an or type with one variant
but that is another topic: if or type can have only one variant
I would suggest following:
And type - zero and more values type alias
Or type - zero and more variants type or
Opaque type - basically wrapper around one value type opaque
That also solves a problem how data should be serialized into text/binary format.
Now, it is not clear if: Or type with one variant should be treated as just the value or variant index and the value.
Since
type
can only define sum(or) type let's usetype or
keyword instead, to make it explicit.Or maybe:
And type - zero and more values
type alias
Or type - zero and more variantstype or
Opaque type - basically wrapper around one valuetype opaque