What is reification?

Reification is the process of taking an abstract thing and creating a concrete thing. The term reification in C# generics refers to the process by which a generic type definition and one or more generic type arguments (the abstract thing) are combined to create a new generic type (the concrete thing). To phrase it differently, … Read more

What are Reified Generics? How do they solve Type Erasure problems and why can’t they be added without major changes?

The whole point is that reified generics have support in the compiler for preserving type information, whereas type erased generics don’t. AFAIK, the whole point of having type erasure in the first place was to enable backwards compatibility (e.g. lower versioned JVMs could still understand generic classes). You can explicitly add the type information in … Read more