42 ms·
What is the point of doing forall T but not forall A and B?
by h_anna_h 6y ago
What is the point of doing forall T but not forall A and B?
- Twisol 6y agoA and B are free to be chosen by a producer of the generic Sum type. However, T can be chosen "late", by a consumer of Sum; a value of type Sum A B must work for any T you decide to use down the line. If it helps, the equivalent Java signature is: interface Sum<A, B> { <T> T visit(Function<A, T> onA, Function<B, T> onB); } Hopefully this makes it more clear that A and B are fixed when you receive a value of type Sum A B, but you get to pick a T when consuming that value.
- h_anna_h 6y agoThanks