Document related concepts
no text concepts found
Transcript
Lenguajes de Programación Auxiliar 12 Éric Tanter Auxiliares: Óscar Álvarez, Richard Ibarra 19 de junio de 2008 1. Control 3, Primavera 2007 Escriba el resultado esperado para el siguiente programa VBCFAE, justificando en casa paso los valores en el Environment y en el Store. {with {setter {refun {x} {set x 41}}} {with {y 10} {with a {newbox y}} {seqn {setter y} {+ {openbox a} y}}}} 2. Control 3, Otoño 2007 Usted recién descubrió un nuevo lenguaje. ¿Qué puede decir del resultado del siguiente programa? (la función main es el punto de entrada del programa). def y = 10; def void foo(x) { x = y; } def void main() { def z = 5; foo(z); println(z); } 3. Control 3, Otoño 2007 Considere el siguiente programa: {with {f {fun {x} {fun {y} {+ x y}}}} {+ 3 {f 5}}} a) Reescriba este programa con las anotaciones de tipos necesarias b) Escriba y explique el juicio de tipo de una expresión with c) Demuestre, desarollando el árbol de juicio de tipos, que el programa anterior no es válido. 1