AbstractFunctions play a central role in type theory, logic and computation. We describe how the notions of functionalisation (the way in which functions can be constructed) and instantiation (the process of applying a function to an argument) have been developed in the last century. We explain how both processes were implemented in Frege’s Begriffschrift, Russell’s Ramified Type Theory, and the λ-calculus (originally introduced by Church) showing that the λ-calculus misses a crucial aspect of functionalisation. We then pay attention to some special forms of function abstraction that do not exist in the λ-calculus and we show that various logical constructs (e.g., let expressions and definitions and the use of parameters in mathematics), ca...