Hacker News new | ask | show | jobs
by gpderetta 1530 days ago
As far as I understand it is still compile time checked, hence it is a form of static polymorphism. The fact it is still runtime dispatched it is just an implementation choice.
1 comments

I think you’re right. It’s just not exactly what many people coming from other languages expect from generics.

It’s seems like a static polymorphism but not monomorphism, which also is implemented in Go generics but for simple types.

Actually historically most generic implementations do not monomorphize either except as an optimisation: Java, C# (at least for complex types), most functional languages use some sort of type erasure. C++ and, I think, ADA were the exceptions, although it has proven more popular with newer languages.