Hacker News new | ask | show | jobs
by Kostarrr 1512 days ago
Actually, go generics can do sum types, it’s just not well known or advertised.
1 comments

No, they can't. Or more precisely, only generic type parameters can be sum types, not actual runtime variables/parameters/return types/struct fields.
> not actual runtime variables/parameters/return types/struct fields.

Is it possible to church-encode these with Go generics?

Yes, probably, but I'm not sure that would be very ergonomic (I don't think you'd want to use it for something like Optional), if I understand correctly how it would work.