Memoization slaat de resultaten van een functie op in een cache met sleutels op basis van de argumenten, dus herhaalde aanroepen met dezelfde invoer retourneren onmiddellijk het gecachte resultaat in plaats van opnieuw te berekenen. Het verhandelt geheugen voor snelheid en werkt alleen voor pure functies (zelfde invoer → zelfde uitvoer, geen bijeffecten).
Een generieke memoize wrapper
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
