PLDB
Languages Features Calendar CSV Lists Blog About Sponsor Add Language
GitHub icon

Polymorphism

Polymorphism

Polymorphism is a 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 without Polymorphism include Jule

Languages with Polymorphism include JavaScript, Pascal, Elixir, Felix

Example from JavaScript:
"a" + "b"; 1 + 2
Example from Elixir:
https://hexdocs.pm/elixir/Protocol.html
Example from Felix:
// overloads fun f (x:double) => x +42.1; fun f (x:int) => x + 1; fun f (x:string) => x + "!";
maps-feature.html 路 polymorphism-feature.html 路 monads-feature.html

View source

PLDB - Build the next great programming language 路 v2022 Day 29 Docs Build Acknowledgements Traffic Today Traffic Trends Mirrors GitHub feedback@pldb.com