Cómo usar memoize en Clojure – Resuelto

La función memoize en Clojure permite optimizar las funciones que realizan cálculos costosos, almacenando en caché los resultados de las llamadas anteriores para evitar cómputos repetidos.

Uso básico de memoize

Podemos usar memoize para mejorar el rendimiento de una función que realiza cálculos repetitivos. Por ejemplo:

(def calculo-costoso (memoize (fn [x] (* x x))))

Al llamar a calculo-costoso varias veces con los mismos argumentos, se utilizará el resultado almacenado en la caché:

(calculo-costoso 5) ;; 25