La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ESPECIFICACIÓN FORMAL DE SISTEMAS. LAMBDA EXPRESIONES El lambda cálculo ( C) es un lenguaje simple que permite la descripción de las funciones matemáticas.

Presentaciones similares


Presentación del tema: "ESPECIFICACIÓN FORMAL DE SISTEMAS. LAMBDA EXPRESIONES El lambda cálculo ( C) es un lenguaje simple que permite la descripción de las funciones matemáticas."— Transcripción de la presentación:

1 ESPECIFICACIÓN FORMAL DE SISTEMAS

2 LAMBDA EXPRESIONES El lambda cálculo ( C) es un lenguaje simple que permite la descripción de las funciones matemáticas y de sus propiedades El lambda cálculo ( C) es un lenguaje simple que permite la descripción de las funciones matemáticas y de sus propiedades Fue introducido por Church en los años 30 como fundamento de la matemática y constituye un modelo formal Fue introducido por Church en los años 30 como fundamento de la matemática y constituye un modelo formal

3 EJEMPLO La expresión \x  2 * x se escribe en el C así: La expresión \x  2 * x se escribe en el C así: x. * 2 x x. * 2 x y denota una función de un solo argumento tal que al objeto x le asocia el objeto * 2 x y denota una función de un solo argumento tal que al objeto x le asocia el objeto * 2 x En el ejemplo anterior se observa que:. El símbolo sirve para denotar funciones. El punto. Se usa para separar el argumento (o variable instanciable). En el C se utiliza notación prefija

4 EQUIVALENCIAS Una  -equivalencia con dos funciones significa que las dos funciones son la misma, y por lo tanto debemos identificarlas; así escribiremos   en lugar de   (o también directamente  ), lo cual: Una  -equivalencia con dos funciones significa que las dos funciones son la misma, y por lo tanto debemos identificarlas; así escribiremos   en lugar de   (o también directamente  ), lo cual:

5 EJEMPLO 0.1 La expresión Haskell \x  \y  (x + y) * 2 se escribe en el C: La expresión Haskell \x  \y  (x + y) * 2 se escribe en el C: x. y. * (+ x y) 2 x. y. * (+ x y) 2 Aunque a veces la expresión anterior se suele escribir de forma más compacta: Aunque a veces la expresión anterior se suele escribir de forma más compacta: También se obtiene una E al aplicar una función a un objeto. Así aplicando la función del ejemplo 0.0 al objeto 3 ( x. * 2 x ) 3

6 Si M y N son E, la combinación (M N) es una E que se llama aplicación; en la abstracción x.E, x se llama la variable asociada o ligadora (o instanciable) y E se llama el cuerpo de la abstracción. Si M y N son E, la combinación (M N) es una E que se llama aplicación; en la abstracción x.E, x se llama la variable asociada o ligadora (o instanciable) y E se llama el cuerpo de la abstracción. Convenio 0.0 Sobrecargamos el significado de  (igualdad sintáctica) con:. Los paréntesis más externos no se escriben. La abstracción es asociativa a la derecha:. La aplicación es asociativa a la izquierda:

7 EJEMPLO 0.2 Con el convenio anterior se tienen las igualdades sintácticas: Con el convenio anterior se tienen las igualdades sintácticas:

8 EJEMPLO 0.2 Con el convenio anterior se tienen las igualdades sintácticas: Con el convenio anterior se tienen las igualdades sintácticas:

9 EJEMPLO 0.2 Con el convenio anterior se tienen las igualdades sintácticas: Con el convenio anterior se tienen las igualdades sintácticas:

10 0.1 VARIABLES LIBRES Y ASOCIADAS El ámbito de una variable en una abstracción x.E se extiende a la derecha tanto como sea posible (hasta el primer paréntesis no cerrado o hasta el final de la expresión); una variable x en una expresión E se dice ligada o asociada si aparece en el ámbito de una abstracción de variable instanciable x; en otro caso se dice libre (así; una variable que aparezca en una expresión será libre o ligada; no tiene sentido hablar de libre o ligada si la variable no aparece en la expresión) El ámbito de una variable en una abstracción x.E se extiende a la derecha tanto como sea posible (hasta el primer paréntesis no cerrado o hasta el final de la expresión); una variable x en una expresión E se dice ligada o asociada si aparece en el ámbito de una abstracción de variable instanciable x; en otro caso se dice libre (así; una variable que aparezca en una expresión será libre o ligada; no tiene sentido hablar de libre o ligada si la variable no aparece en la expresión)

11 EJEMPLO 0.3 Analizando las variables que aparezcan en las E siguientes, se tiene que: Analizando las variables que aparezcan en las E siguientes, se tiene que:

12 EJEMPLO 0.3 Analizando las variables que aparezcan en las E siguientes, se tiene que: Analizando las variables que aparezcan en las E siguientes, se tiene que:

13 SEMÁNTICA OPERACIONAL

14

15

16

17 EJEMPLO 1.1 La evaluación de la expresión La evaluación de la expresión Puede dar lugar al siguiente computo Puede dar lugar al siguiente computo

18 EJEMPLO 1.1


Descargar ppt "ESPECIFICACIÓN FORMAL DE SISTEMAS. LAMBDA EXPRESIONES El lambda cálculo ( C) es un lenguaje simple que permite la descripción de las funciones matemáticas."

Presentaciones similares


Anuncios Google