Consider how generics can be implemented in a compiled language:
a) specialize them at compile time - this means any library with generics in its API has to be distributed as source, and compiled *with or after* the code that uses it
b) erase them at compile time - they're just static checks, the type parameters can't affect behaviour, and everything becomes void* - no u64, vectors, or pass-by-value structs
c) specialize them at link time - now you need a new ABI and object format...
1/
@wolf480pl Interesting insights! Is there any paper or references about this subject?
@fulkrum (not saying you're not smart, sorry if it sounded that way)
@wolf480pl I get you, don’t worry ![]()
@fulkrum I was hoping someone smarter than me would reply and point me to some existing research on the topic...