13. Lambda

13. Lambda - Lenguajes de programación Introducción al...

Info iconThis preview shows pages 1–6. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Lenguajes de programación Introducción al Cálculo Lambda El Cálculo Lambda ( -calculus) Formalismo de cálculo propuesto por Alonso Church (circa 1930). Describe el comportamiento de las funciones Sintaxis expresiones lambda ( -expresiones) Cálculos reglas de cómputo Cálculos reglas de cómputo A las reglas de cómputo también se les llama reglas de reescritura; sirven para transformar las -expresiones. Considerado como el primer lenguaje de programación funcional. Evolución de la Programación Funcional -calculus LISP MacLISP FranzLISP Hope ML SASL KRC CommonLISP SML Miranda Haskell Scheme Algunas características del -calculus ¡¡¡Las funciones no tienen nombre!!! ¡¡¡Las expresiones no tienen tipos!!! Todas las funciones tienen un solo argumento. Las funciones se pueden aplicar a sí mismas. Sintaxis del -calculus puro Se asume la existencia de un conjunto de identificadores (o variables). x Identificadores En BNF e expresión ss Abstracciones Aplicaciones En BNF, e - expresión ssi e ::= x | e 1 e 2 | x.e Ejemplos x x y ( x. y.f x y) ( x.x) w ( x.(x x)) ( x.(x x)) e ::= x | e 1 e 2 | x.e f.( x.f(x x))( x.f(x x)) … … Extensión del -calculus puro para manejar constantes Se asume la existencia de un conjunto de identificadores (o variables) y de otro conjunto de constantes. x Identificadores c Constantes En BNF e e presión ss Abstracciones Aplicaciones En BNF, e - expresión ssi e ::= x | c | e 1 e 2 | x.e Ejemplos x 4 + x 2 ( x. y.+ x y) ( z.z) 4 f f l) car m e ::= x | c | e 1 e 2 | x.e ( f. l. f l) car m f. x.COND (= x 1) 1 (* x (f (- x 1))) f.( x.f (x x))( x.f (x x)) Fac … … Interpretación en términos de una función Abstracción : x.x : es una función de un único argumento x ; la función regresa x Aplicación : ( x. x) 3 : 3 es el argumento de la función ( x. x) . ¿Cómo se interpreta la abstracción ( x. y.+ x y) ? La función de un argumento ( x ) que regresa otra función de un argumento ( y ) ¿Cómo se interpreta la aplicación ( x....
View Full Document

This note was uploaded on 05/12/2010 for the course ITC TC2006 taught by Professor Conant during the Spring '10 term at ITESM.

Page1 / 15

13. Lambda - Lenguajes de programación Introducción al...

This preview shows document pages 1 - 6. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online