Scheme, SICP, R5RS, ¿por qué la demora no es una forma especial?
Esto se refiere al capítulo 3.5 del SICP, en el que se discuten las transmisiones. La idea es que:
(cons-stream 1 (display 'hey))
No debe evaluar la segunda parte de la secuencia de contras, por lo que no debe imprimir "hey". Esto sucede, obtengo el siguiente resultado:
hey (1. # <promesa>)
¿Entonces mi conclusión es que el retraso no se implementa como una forma especial? ¿O estoy haciendo algo mal? Yo uso la siguiente implementación:
(define (cons-stream a b)
(cons a (delay b)))
Con retraso siendo la implementación predeterminada de R5RS. ¿Es esto un error en la implementación, o no lo estoy haciendo o entendiendo bien?