In the area of mathematical logic and computer science known as type theory, a type constructor is a feature of a typed formal language that builds new types from old. Typical type constructors encountered are product types, function types, power types and list types. Basic types are considered nullary type constructors. New types can be defined by recursively composing type constructors.
more from Wikipedia
Function type
In computer science, a function type (also arrow type or exponential) is the type of a variable or parameter to which a function has or can be assigned or the result type of a higher-order function returning a function. A function type depends on the type of the parameters and the result type of the function (it, or more accurately the unapplied type constructor · ¿ ·, is a higher-kinded type).
more from Wikipedia
Primitive data type
In computer science, primitive data type is either of the following: a basic type is a data type provided by a programming language as a basic building block. Most languages allow more complicated composite types to be recursively constructed starting from basic types. a built-in type is a data type for which the programming language provides built-in support. In most programming languages, all basic data types are built-in.
more from Wikipedia
Polymorphism (computer science)
In computer science, polymorphism is a programming language feature that allows values of different data types to be handled using a uniform interface. The concept of parametric polymorphism applies to both data types and functions. A function that can evaluate to or be applied to values of different types is known as a polymorphic function. A data type that can appear to be of a generalized type (e.g.
more from Wikipedia
Type theory
In mathematics, logic and computer science, type theory is any of several formal systems that can serve as alternatives to naive set theory, or the study of such formalisms in general. In programming language theory, a branch of computer science, type theory can refer to the design, analysis and study of type systems, although some computer scientists limit the term's meaning to the study of abstract formalisms such as typed ¿-calculi.
more from Wikipedia
Computable function
Computable functions are the basic objects of study in computability theory. Computable functions are the formalized analogue of the intuitive notion of algorithm. They are used to discuss computability without referring to any concrete model of computation such as Turing machines or register machines. Any definition, however, must make reference to some specific model of computation but all valid definitions yield the same class of functions.
more from Wikipedia
Partial function
In mathematics, a partial function from X to Y is a function ¿: X' ¿ Y, where X' is a subset of X. It generalizes the concept of a function by not forcing f to map every element of X to an element of Y (only some subset X' of X). If X' = X, then ¿ is called a total function and is equivalent to a function. Partial functions are often used when the exact domain, X', is not known (e.g. many functions in computability theory).
more from Wikipedia
Recursive definition
In mathematical logic and computer science, a recursive definition (or inductive definition) is used to define an object in terms of itself . A recursive definition of a function defines values of the functions for some inputs in terms of the values of the same function for other inputs. For example, the factorial function n! is defined by the rules 0! = 1. (n+1)! = (n+1)·n!. This definition is valid because, for all n, the recursion eventually reaches the base case of 0.
more from Wikipedia