Memoization, bir fonksiyonun sonuçlarını argümanlarına göre indexlenmiş şekilde bellekte tutar, böylece aynı girdilerle tekrar yapılan çağrılar hesaplamayı yeniden yapmak yerine anında önbelleklenmiş sonucu döndürür. Hafızayı hız için değiştirir ve yalnızca saf fonksiyonlar için çalışır (aynı girdi → aynı çıktı, yan etki yok).
Genel bir memoize sarıcısı
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
