Está en la página 1de 1

Características de Lenguajes de Programación

Segundo parcial
Licenciatura en Informática • Universidad Nacional de Quilmes

28 de noviembre de 2022

Nombre y apellido:

1. Compilar el siguiente término, y dar la traza del código compilado.

(λx.λy.x)01

2. Dada la siguiente definición de un término de PCF con objetos:

o = { a = σs.λx.s(b ← σs.x),
b = σs.10}

Escribir el objeto resultado de o#a(0).

3. En la práctica extendimos la gramática de PCF con pares (ht, ri) y los proyectores (π1 t y π2 t).
Alternativamente, los destructores pueden ser definidos como sigue:

δ 1 (t, x.s) δ 2 (t, x.s)

con las siguientes reglas de reducción:

δ 1 (ht, ri, x.s) → s[t/x] δ 2 (ht, ri, x.s) → s[r/x]

En este caso, π1 t es el caso particular δ 1 (t, x.x), ya que δ 1 (ht, ri, x.x) reduce a x[t/x] = t, y
similarmente δ 2 (ht, ri, x.x) reduce a r. A esto se lo conoce como eliminación generalizada.
Tip: En general, δ 1 (t, x.s) se comporta igual que (λx.s)π1 t.
La definición de la semántica denotacional extendida es como sigue:

JA × BK = JAK × JBK
Jht, riKθ = (JtKθ , JrKθ )
1
q y
δ (t, x.r) θ = JrKθ,x=fstJtK
θ
q 2 y
δ (t, x.r) θ = JrKθ,x=sndJrK
θ

(a) Dar la semántica denotacional de λx : A × B.δ 1 (x, y.δ 2 (x, z.hx, yi))
(b) Extender la demostración de Subject Reduction para PCF a este cálculo. Es decir, extender
las pruebas de:
i. Lema de substitución: Si Γ, x : B ` t : A, y Γ ` r : B, entonces Γ ` t[r/x] : A.
ii. Teorema de subject reduction: Si Γ ` t : A y t → r, entonces Γ ` r : A.

También podría gustarte