# Lambda calculus

Lambda calculus can be called the smallest universal programming language. At its core, lambda calculus is made up of just one transformation rule (something called variable substitution) and just one way to define a function. Each function definition has a list of the function's parameters, which are all of the variables that can be used in that function. Variable substitution is where specific variables in a function are replaced by other values (for example, the value ${\displaystyle 2}$ could take the place of every spot in a function where the variable ${\displaystyle x}$ appears). This is called a transformation rule because it can be used to transform lambda expressions by changing around their values.