On Mon, Apr 8, 2013 at 9:34 PM, Jens Axel Søgaard <jensa...@soegaard.net>wrote:
> > Would it make sense to use memoization more broadly for the definition > of the factorial > > in the math lib, maybe with a `provide'd parameter to control how many > values can be > > memoized? > > An interesting question. First of all it seems that especially binomial > can be improved. Second I think there is a difference between > non-permanent caching and permanent caching. I see no problem > with non-permanent caching. For caching between calls I am not > sure, what is the best solution for a general purpose library. > I lean towards non-caching functions as standard, but it would > be nice to offer both versions in the library. The same problem > arises in prime? . Having a large table of small primes > improve the running time, but is a reasonable table > size 10^3, 10^4 or 10^5 ? > Hence the idea of the parameter (or several?), with a default correct general value that can be changed by the user. Btw, the factorial table uses some unnecessary memory space (though not that big anyway), I think it would be better to request memory on demand. Memoization with a hash table does exactly that, although a growable vector would fit too. I guess the same goes for `prime?' and maybe other places? Laurent
____________________ Racket Users list: http://lists.racket-lang.org/users