List of types of functions

Functions can be identified according to the properties they have. These properties describe the functions' behaviour under certain conditions. A parabola is a specific type of function.
Relative to set theory.
These properties concern the domain, the codomain and the image of functions.
Relative to an operator (c.q. a group or other structure).
These properties concern how the function is affected by arithmetic operations on its operand.
The following are special examples of a homomorphism on a binary operation:
Relative to negation:
Relative to a binary operation and an order:
Relative to a topology.
Relative to topology and order:
Relative to measure.
Relative to measure and topology
Ways of defining functions/relation to type theory.
In general, functions are often defined by specifying the name of a dependent variable, and a way of calculating what it should map to. For this purpose, the formula_1 symbol or Church's formula_2 is often used. Also, sometimes mathematicians notate a function's domain and codomain by writing e.g. formula_3. These notions extend directly to lambda calculus and type theory, respectively.
Higher order functions.
These are functions that operate on functions or produce other functions, see Higher order function.
Examples are:
Relation to category theory.
Category theory is a branch of mathematics that formalizes the notion of a special function via arrows or morphisms. A category is an algebraic object that (abstractly) consists of a class of "objects", and for every pair of objects, a set of "morphisms". A partial (equiv. dependently typed) binary operation called composition is provided on morphisms, every object has one special morphism from it to itself called the identity on that object, and composition and identities are required to obey certain relations.
In a so-called concrete category, the objects are associated with mathematical structures like sets, magmas, groups, rings, topological spaces, vector spaces, metric spaces, partial orders, differentiable manifolds, uniform spaces, etc., and morphisms between two objects are associated with "structure-preserving functions" between them. In the examples above, these would be functions, magma homomorphisms, group homomorphisms, ring homomorphisms, continuous functions, linear transformations (or matrices), metric maps, monotonic functions, differentiable functions, and uniformly continuous functions, respectively.
As an algebraic theory, one of the advantages of category theory is to enable one to prove many general results with a minimum of assumptions. Many common notions from mathematics (e.g. surjective, injective, free object, basis, finite representation, isomorphism) are definable purely in category theoretic terms (cf. monomorphism, epimorphism).
Category theory has been suggested as a foundation for mathematics on par with set theory and type theory (cf. topos).
Allegory theory provides a generalization comparable to category theory for relations instead of functions.