Cómo usar delay en Clojure – Resuelto

En Clojure, delay se utiliza para definir valores que no se calculan hasta que se accede a ellos. Esto puede ser útil para diferir el cálculo de un valor hasta que sea necesario, ayudando a optimizar el rendimiento.

Uso básico de delay

Podemos usar delay para diferir el cálculo de una expresión:

(def mi-retardo (delay (+ 2 3)))

El valor de mi-retardo no se calcula hasta que se accede a él:

(@mi-retardo) ;; 5