Está en la página 1de 1

Clculo Lambda ^ = Lambda Sintaxis: BNF <expression> ::= <variable> identificadores en minsculas | ; ; ; objetos predefinidos | combinaciones o aplicaciones | abstracciones

o funciones (^<variable>.<expression>) (<expression><expression>) <constant>

Convenciones para reducir el nmero de parntesis: 1 Letras maysculas e identificadores que inician con mayscula sern usados com o metavariables. 2 Aplicacin de funciones se asocia a la izquierda: E1 E2 E3 => ((E1 E2)E3) 3 El alcance de "^ <variable>" en una abstraccin se extiende a la derecha t an lejos como sea posible: ^x.E1 E2 E3 significa (^x.(E1 E2 E3)) y no ((^x.E1 E2 )E3) 4 Una abstraccin permite una lista de variables que abrevia una serie de ab stracciones Lambda: ^x y z.E significa (^x.(^y.(^z.E))) 5 Funciones definidas como abstracciones Lambda son annimas, la expresin mis ma denota una funcin. Por convencin: define <name> = <expression> Ejemplo: define Twice = ^f.^x.f(f(x)), permite que: (Twice(^n.(add n 1))5) = 7