Programming Language Theory: Difference between revisions
| Line 139: | Line 139: | ||
** Parametric polymorphism: Generation of a version for necessary types (Ada generics, C++ templates, SML type parameters) | ** Parametric polymorphism: Generation of a version for necessary types (Ada generics, C++ templates, SML type parameters) | ||
* Support for ''subtyping'', refining T as T<sub>0</sub> (defining an ordering relation on types: T ''subsumes'' T<sub>0</sub>, x ∈ T<sub>0</sub> ⇒ x ∈ T) | * Support for ''subtyping'', refining T as T<sub>0</sub> (defining an ordering relation on types: T ''subsumes'' T<sub>0</sub>, x ∈ T<sub>0</sub> ⇒ x ∈ T) | ||
** ''Subclassing'' (inheritance) is independent of subtyping | |||
* Support for ''minimal'' and ''maximal'' types (also known as Bottom and Top) | * Support for ''minimal'' and ''maximal'' types (also known as Bottom and Top) | ||
===Conversion=== | ===Conversion=== | ||