Un cálculo mecanografiado de la lambda es un formalismo mecanografiado que utiliza el lambda-símbolo () para denotar la abstracción anónima de la función. Los cálculos mecanografiados de la lambda son los lenguajes de programación fundacional y son la base mecanografiado los lenguajes el de programación funcional tal como ml y Haskell y, más indirectamente, mecanografiado los lenguajes de programación imprescindible . Son estrechamente vinculados a la lógica matemática y la teoría de la prueba vía el isomorfismo y ellos de Curry-Howard se puede considerar como la lengua interna de clases de las categorías, e. el cálculo simplemente mecanografiado de la lambda es la lengua de las categorías cerradas cartesianas (CCCs).
Desde cierto punto de vista, mecanografiado cálculos de la lambda puede ser visto como refinamientos del cálculo Untyped de la lambda pero desde otro punto de vista, pueden también ser considerados el cálculo Untyped más fundamental de la lambda de la teoría y un caso especial con solamente un tipo.
Se han estudiado los varios cálculos mecanografiados de la lambda: Los tipos del cálculo simplemente mecanografiado de la lambda son solamente tipos bajos (o mecanografiar las variables) y tipos de la función. El sistema T amplía el cálculo simplemente mecanografiado de la lambda con un tipo de números naturales y de una repetición más alta del primitivo de la orden; en este sistema todas las funciones demostrable recurrentes en el Peano aritmético son definibles. El sistema F permite polimorfismo usando la cuantificación universal sobre todos los tipos; de una perspectiva lógica puede describir todas las funciones que sean demostrable totales en la lógica Second-order . Los cálculos de la lambda con los tipos del dependiente son la base del tipo intuicionista teoría, el cálculo de las construcciones y el marco lógico (LF), un cálculo puro de la lambda con los tipos dependientes. De acuerdo con trabajo por Berardi, el Barendregt propuso el cubo de la lambda para sistematizar las relaciones de los cálculos mecanografiados puros de la lambda (cálculo simplemente mecanografiado incluyendo de la lambda, sistema F, LF y el cálculo de construcciones).
Algunos cálculos mecanografiados de la lambda introducen una noción subtyping, es decir si es un subtipo de , después todos los términos del tipo también tienen tipo . Los cálculos mecanografiados de la lambda con subtyping son el cálculo simplemente mecanografiado de la lambda con los tipos conjuntivos y el (F-secundario).
Todos los sistemas mencionados hasta ahora, a excepción del cálculo untyped de la lambda, son que normaliza fuerte : todos los cómputos terminan. Por consiguiente son constantes como lógica, es decir hay tipos deshabitados. Existen, sin embargo, los cálculos mecanografiados de la lambda que no están normalizando fuerte. Por ejemplo el cálculo dependiente mecanografiado de la lambda con un tipo de todos los tipos (tipo: El tipo) no es normalización debido a la paradoja de Girard. Este sistema es también el tipo puro sistema, un formalismo más simple que generalice el cubo de la lambda. Los sistemas con combinators explícitos de la repetición, tales como PCF de Plotkin, no están normalizando, sino que no se piensan para ser interpretados como lógica. De hecho, el PCF (para el lenguaje de programación para las funciones computables) es un prototípico, mecanografiado el lenguaje el de programación funcional, donde los tipos se utilizan para asegurarse de que los programas son well-behaved pero no no necesario terminales.
Los cálculos mecanografiados de la lambda desempeñan un papel importante en el diseño de nuevo tipo sistemas para los lenguajes de programación; aquí el typability captura generalmente las características deseables del programa, e. el programa no causará una violación de acceso de memoria.
En el que programa, las rutinas (funciones, procedimientos, métodos) de los lenguajes de programación Strongly-typed corresponden de cerca las expresiones mecanografiadas de la lambda. El Eiffel tiene una noción del " agent" en línea; que permite definir y manipular mecanografió expresiones de la lambda directo, con las expresiones tales como el agente (p del : PERSONA): El de la SECUENCIA resulta : = extremo de p.name, denotando un objeto que representa una función que vuelva el nombre del esposo de una persona.
| Random links: | Francestown, de New Hampshire | Rottumerplaat | Juan Edward Jacob | Nave de tiempo | Judy Geeson |