3 ms·
Memoization. You could add a method to the class implementing blocks. Block>>memoize "Return a memoized one-argument block" | cache | cache := Ma
by CodeArtisan 7y ago
Memoization. You could add a method to the class implementing blocks.
Block>>memoize
"Return a memoized one-argument block"
| cache |
cache := Map new.
^[:arg | cache at: arg ifAbsentPut: [self value: arg]]
aBlock := [:foo | foo + 1].
aBlockMemoized := aBlock memoize.