Polymorphism (computer science) in the context of ML (programming language)


Polymorphism (computer science) in the context of ML (programming language)

Polymorphism (computer science) Study page number 1 of 1

Play TriviaQuestions Online!

or

Skip to study material about Polymorphism (computer science) in the context of "ML (programming language)"


⭐ Core Definition: Polymorphism (computer science)

In programming language theory and type theory, polymorphism allows a value or variable to have more than one type and allows a given operation to be performed on values of more than one type.

In object-oriented programming, polymorphism is the provision of one interface to entities of different data types. The concept is borrowed from a principle in biology in which an organism or species can have many different forms or stages.

↓ Menu
HINT:

👉 Polymorphism (computer science) in the context of ML (programming language)

ML (Meta Language) is the metalanguage developed for the Edinburgh LCF theorem prover in the 1970s. It is an early statically typed, functional language with polymorphic type inference in the Hindley–Milner style, and other features like exceptions and mutable variables. ML's design in LCF directly inspired the later ML family (notably Standard ML, Caml, and their derivatives) and influenced subsequent functional language development.

↓ Explore More Topics
In this Dossier

Polymorphism (computer science) in the context of Christopher Strachey

Christopher S. Strachey (/ˈstri/; 16 November 1916 – 18 May 1975) was a British computer scientist. He was one of the founders of denotational semantics, and a pioneer in programming language design and computer time-sharing. He has also been credited as possibly the first developer of a video game and for coining terms such as polymorphism and referential transparency that are still widely used by developers. He was a member of the Strachey family, prominent in government, arts, administration, and academia.

View the full Wikipedia page for Christopher Strachey
↑ Return to Menu

Polymorphism (computer science) in the context of Object (computer science)

In software development, an object is an entity semantic that has state, behavior, and identity.An object can model some part of reality or can be an invention of the design process whose collaborations with other such objects serve as the mechanisms that provide some higher-level behavior. Put another way, an object represents an individual, identifiable item, unit, or entity, either real or abstract, with a well-defined role in the problem domain.

A programming language can be classified based on its support for objects. A language that provides an encapsulation construct for state, behavior, and identity is classified as object-based. If the language also provides polymorphism and inheritance it is classified as object-oriented. A language that supports creating an object from a class is classified as class-based. A language that supports object creation via a template object is classified as prototype-based.

View the full Wikipedia page for Object (computer science)
↑ Return to Menu

Polymorphism (computer science) in the context of Collection (abstract data type)

In computer programming, a collection is an abstract data type that is a grouping of items that can be used in a polymorphic way.

Often, the items are of the same data type such as int or string. Sometimes the items derive from a common type; even deriving from the most general type of a programming language such as object or variant.

View the full Wikipedia page for Collection (abstract data type)
↑ Return to Menu

Polymorphism (computer science) in the context of Dynamic dispatch

In computer science, dynamic dispatch is the process of selecting which implementation of a polymorphic operation (method or function) to call at run time. It is commonly employed in, and considered a prime characteristic of, object-oriented programming (OOP) languages and systems.

Object-oriented systems model a problem as a set of interacting objects that enact operations referred to by name. Polymorphism is the phenomenon wherein somewhat interchangeable objects each expose an operation of the same name but possibly differing in behavior. As an example, a File object and a Database object both have a StoreRecord method that can be used to write a personnel record to storage. Their implementations differ. A program holds a reference to an object which may be either a File object or a Database object. Which one it is may have been determined by a run-time setting, and at this stage, the program may not know or care which. When the program calls StoreRecord on the object, something needs to choose which behavior gets enacted. If one thinks of OOP as sending messages to objects, then in this example the program sends a StoreRecord message to an object of unknown type, leaving it to the run-time support system to dispatch the message to the right object. The object enacts whichever behavior it implements.

View the full Wikipedia page for Dynamic dispatch
↑ Return to Menu