Puede ser usado para definir de manera limpia y precisa qué es una "función computable".El interrogante de si dos expresiones del cálculo lambda son equivalentes no puede ser resuelto por un algoritmo general.Esta fue la primera pregunta, incluso antes que el problema de la parada, cuya indecidibilidad fue probada.El cálculo lambda tiene una gran influencia sobre los lenguajes funcionales, como Lisp, ML y Haskell.Este artículo se enfocará sobre el cálculo lambda sin tipos, como fue diseñado originalmente por Church.En 1940, Church introdujo el Cálculo lambda simplemente tipado que es computacionalmente menos poderoso, pero lógicamente consistente.Usando estas dos funciones como ejemplo, es posible hacer algunas observaciones útiles acerca de varias ideas fundamentales del cálculo lambda.Esta transformación se conoce como currificación, y puede generalizarse para funciones que aceptan cualquier número de argumentos.Esto puede parecer difícil de entender, pero se entiende mejor mediante un ejemplo.En el cálculo lambda, todas las expresiones representan funciones anónimas de un solo argumento.No todas las expresiones lambda pueden ser reducidas a un "valor" definido.Un ejemplo típico es: (λx.x(λx.x))x, donde el alcance de la ligadura más a la derecha afecta solo a la x que tiene ahí, la situación del otro binding es análoga, pero no incluye el scope de la primera.Sin embargo, esta regla no es tan simple como parece a primera vista.Por ejemplo, si reemplazamos x por y en λx.λy.x, obtenemos λy.λy.y, que claramente, no es la misma función.Enuncia que si todas las ocurrencias de E′ están libres en E[V:= E′].La eta conversión expresa la idea de extensionalidad, que en este contexto implica que dos funciones son la misma si y solo si dan el mismo resultado para cualquier argumento.Hay varias formas posibles de definir los números naturales en el cálculo lambda, pero el más común son los números de Church, que pueden definirse como sigue: y así sucesivamente.Dada esta definición de los números de Church, se puede establecer una función de sucesión que dado un número n devuelve n + 1: La suma se define así: PLUS puede entenderse como una función que toma dos números naturales como parámetros devolviendo otro; puede verificarse que son expresiones lambda equivalentes.A saber, la función pasada como f debe expandirse a la funcióng llamada con un argumento -- y que el argumento debe ser la función que ha sido pasado como f de nuevo.Ahora, para completar nuestra llamada recursiva a la función factorial, simplemente llamaría g (Y g) n, donde n es el número del cual queremos calcular el factorial.Los lenguajes funcionales no son los únicos que soportan las funciones como objetos de primera clase.En C y su derivado C++ el resultado equivalente se obtiene pasando punteros al código de las funciones (subprogramas).Estos mecanismos están limitados a subprogramas escritos explícitamente en el código, y no soportan directamente funciones de alto nivel.Un delegado simple de c# que toma una variable y retorna el cuadrado.Utilizando orden aplicativo, la expresión KIΩ = (λx.λy.x) (λx.x)Ω es reducida reduciendo primero Q, pero como no tiene forma normal, esta estrategia fracasa a la hora de encontrar una forma normal para KIQ.Uno de los inconvenientes es que las redexes en los argumentos pueden ser copiadas, resultando en trabajo duplicado.La propiedad Church-Rosser del cálculo lambda significa que la evaluación (reducción-β) puede ser llevada a cabo en "cualquier orden", incluso al mismo tiempo (de hecho, el cálculo lambda es de transparencia referencial).Por otra parte, emplear orden aplicativo puede resultar en reducciones redundantes o incluso nunca reducirse a una forma normal.Si un nombre es asignado a la redex que produce todos los términos II resultantes, después todas las ocurrencias duplicadas de II pueden ser localizadas y reducidas de una vez.Mientras Lévy define la noción de compartir óptimamente, no proporciona un algoritmo para hacerlo.