This is from September 2013.
237 karma · joined July 16, 2013
https://nettek.ca
https://github.com/emilyskidsister
https://twitter.com/emilyskidsister
My side project: https://github.com/emilyskidsister/hacklily
jocelyn ~at~ nettek.ca
memoize is a template (http://dlang.org/template.html). In this case, a template is used to create a "version" of "memoize" with the right parameters and return value (i.e., `fn` and `memoize!fn` are the same type).
Each of these "versions" has a hash table from argument tuples to results. I believe the hash is computed by calling a toHash function for each item in the tuple.
Tuples and type tuples (http://dlang.org/tuple.html) in D are really quite powerful.