Memoization cacher resultatet av en funksjon nøkklet av argumentene, slik at gjentatte oppkall med samme input returnerer det cachede resultatet instant i stedet for å beregne på nytt. Det handler om å bytte minne for hastighet og fungerer bare for rene funksjoner (samme input → samme output, ingen bivirkninger).
En generisk memoize-wrapper
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
