PLDB
Languages Features Calendar About Lists Add Language
GitHub icon

Polymorphism

Polymorphism

Polymorphism is a language feature.

In programming languages and type theory, polymorphism is the provision of a single interface to entities of different types or the use of a single symbol to represent multiple different types.The most commonly recognised major classes of polymorphism are: Ad hoc polymorphism: defines a common interface for an arbitrary set of individually specified types. Parametric polymorphism: when one or more types are not specified by name but by abstract symbols that can represent any type. Subtyping (also called subtype polymorphism or inclusion polymorphism): when a name denotes instances of many different classes related by some common superclass.. Read more on Wikipedia...

Languages with Polymorphism include JavaScript, Pascal, Felix

Example from JavaScript:

"a" + "b"; 1 + 2

Example from Felix:

// overloads fun f (x:double) => x +42.1; fun f (x:int) => x + 1; fun f (x:string) => x + "!";

Article source

PLDB - Build the next great programming language. v5.0.0 - Acknowledgements · Email · GitHub