-
Notifications
You must be signed in to change notification settings - Fork 63
Open
Description
The flip-side of record types (product types), in which each element has an instance of all fields, are tagged union types (sum types), in which each element has an instance of exactly one type from a list of possible types. For example,
union[int32, string] -> [1, 2, "three"]
union[int32, var * int32] -> [1, 2, [3, 4], [], 5]
union[tuple[int32, int32], tuple[int32, int32, int32]] -> [(1, 2), (3, 4, 5)]
This can be implemented, for instance, with an array of tags (types), optional indexes (offsets), and an array for each type. See, for example, the Arrow implementation.
Are there any plans to support specifications of this kind of data?
nugend, nsmith- and henryiii
Metadata
Metadata
Assignees
Labels
No labels