
14 Dec
2010
14 Dec
'10
8:35 p.m.
On 14 December 2010 21:26, Russ Abbott
Isn't "Either" the same thing as AorB in
data AorB = Aconstructor Int | Bconstructor Int
I want two separate types A and B along with a third type which is their Union. Is that not possible?
That's exactly what either is: data A = ... data B = ... f :: Int -> Either A B
In my actual case, I have more than two types. So I would like a way to take the union of an arbitrarily number of types.
data Union = A1 | A2 | ...
where each of A1, A2, ... has its own data declaration.
You can create a new data type: data MyUnion = First A1 | Second A2 | Third A3 and use it like this: f :: Int -> MyUnion