Memoization cachelagrar en funktions resultat indexerat efter dess argument, så upprepade anrop med samma inmatningar returnerar det cachelagrat resultatet direkt istället för att räkna om. Det byter minne för hastighet och fungerar bara för rena funktioner (samma inmatning → samma utmatning, inga bieffekter).
En generisk memoize-wrapper
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
