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===