Global Information Lookup Global Information

Ad hoc polymorphism information


In programming languages, ad hoc polymorphism[1] is a kind of polymorphism in which polymorphic functions can be applied to arguments of different types, because a polymorphic function can denote a number of distinct and potentially heterogeneous implementations depending on the type of argument(s) to which it is applied. When applied to object-oriented or procedural concepts, it is also known as function overloading or operator overloading. The term ad hoc in this context is not intended to be pejorative; it refers simply to the fact that this type of polymorphism is not a fundamental feature of the type system. This is in contrast to parametric polymorphism, in which polymorphic functions are written without mention of any specific type, and can thus apply a single abstract implementation to any number of types in a transparent way. This classification was introduced by Christopher Strachey in 1967.

  1. ^ C. Strachey, Fundamental concepts in programming languages. Lecture notes for International Summer School in Computer Programming, Copenhagen, August 1967

and 25 Related for: Ad hoc polymorphism information

Request time (Page generated in 0.8661 seconds.)

Ad hoc polymorphism

Last Update:

In programming languages, ad hoc polymorphism is a kind of polymorphism in which polymorphic functions can be applied to arguments of different types...

Word Count : 970

Parametric polymorphism

Last Update:

form the basis of generic programming. Parametric polymorphism may be contrasted with ad hoc polymorphism. Parametrically polymorphic definitions are uniform:...

Word Count : 2058

Operator overloading

Last Update:

operator overloading, sometimes termed operator ad hoc polymorphism, is a specific case of polymorphism, where different operators have different implementations...

Word Count : 1775

Polymorphism

Last Update:

to: Polymorphism (computer science), the ability in programming to present the same programming interface for differing underlying forms Ad hoc polymorphism...

Word Count : 351

Type class

Last Update:

computer science, a type class is a type system construct that supports ad hoc polymorphism. This is achieved by adding constraints to type variables in parametrically...

Word Count : 2353

Subtyping

Last Update:

theory, subtyping (also called subtype polymorphism or inclusion polymorphism) is a form of type polymorphism. A subtype is a datatype that is related...

Word Count : 3590

Function overloading

Last Update:

known as compile-time polymorphism and static polymorphism. Function overloading should not be confused with forms of polymorphism where the choice is made...

Word Count : 1427

Fundamental Concepts in Programming Languages

Last Update:

still in use today, including "R-value" and "L-value", "ad hoc polymorphism", "parametric polymorphism", and "referential transparency". The lecture notes...

Word Count : 251

Haskell

Last Update:

2003, Preface. Wadler, Philip (October 1988). "How to make ad-hoc polymorphism less ad hoc". Peyton Jones, Simon (2003). "Wearing the hair shirt: a retrospective...

Word Count : 4530

Static dispatch

Last Update:

In computing, static dispatch is a form of polymorphism fully resolved during compile time. It is a form of method dispatch, which describes how a language...

Word Count : 240

Virtual function

Last Update:

dispatched dynamically. Virtual functions are an important part of (runtime) polymorphism in object-oriented programming (OOP). They allow for the execution of...

Word Count : 1653

Programming language theory

Last Update:

introducing the terminology R-values, L-values, parametric polymorphism, and ad hoc polymorphism. In 1969, J. Roger Hindley publishes The Principal Type-Scheme...

Word Count : 1616

Type system

Last Update:

language, with many variations possible. The presence of parametric or ad hoc polymorphism in a language may also have implications for type compatibility....

Word Count : 7252

Double dispatch

Last Update:

described how to use double dispatching in Smalltalk, calling it multiple polymorphism. The general problem addressed is how to dispatch a message to different...

Word Count : 4333

Glasgow Haskell Compiler

Last Update:

Whereas parametric polymorphism provides the same structure for every type instantiation, type families provide ad hoc polymorphism with implementations...

Word Count : 1871

Dynamic dispatch

Last Update:

set of interacting objects that enact operations referred to by name. Polymorphism is the phenomenon wherein somewhat interchangeable objects each expose...

Word Count : 2611

Generic function

Last Update:

for polymorphism. In statically typed languages (such as C++ and Java), the term generic functions refers to a mechanism for compile-time polymorphism (static...

Word Count : 628

Intersection type

Last Update:

combine interface specifications and to express ad hoc polymorphism. Complementing parametric polymorphism, intersection types may be used to avoid class...

Word Count : 2388

Intersection type discipline

Last Update:

constructor can be used to express finite heterogeneous ad hoc polymorphism (as opposed to parametric polymorphism). For example, the λ-term λ x . ( x x ) {\displaystyle...

Word Count : 2302

Multiple dispatch

Last Update:

than one of its arguments. This is a generalization of single-dispatch polymorphism where a function or method call is dynamically dispatched based on the...

Word Count : 5881

Giuseppe Longo

Last Update:

theory, and category theory. Between 1991 and 1993, he researched ad hoc polymorphism and demonstrated the characteristics of "parametricity" of second...

Word Count : 2486

List of important publications in computer science

Last Update:

in use today, including R-values, L-values, parametric polymorphism, and ad hoc polymorphism. Gerald Jay Sussman and Guy L. Steele, Jr. AI Memos, 1975–1980...

Word Count : 5931

Predicate dispatch

Last Update:

Polymorphism Ad hoc polymorphism Function overloading Operator overloading Parametric polymorphism Generic function Generic programming Subtyping Virtual...

Word Count : 202

Parametricity

Last Update:

general. Parametric polymorphism Non-strict programming language Reynolds, J.C. (1983). "Types, abstraction, and parametric polymorphism" (PDF). Information...

Word Count : 484

Structural type system

Last Update:

more flexible than nominative subtyping, as it permits the creation of ad hoc types and protocols; in particular, it permits creation of a type which...

Word Count : 1104

PDF Search Engine © AllGlobal.net