[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: functional languages ill-suited for large programs?
Jim Blandy <firstname.lastname@example.org> writes:
> I can think of one case where pure functional languages make nice
> interfaces difficult.
> Suppose you've got a function that takes some time to compute, but you
> know that once you've applied it to one value, you're likely to apply
> it to that same value again soon. In a stateful language, you can
> wrap a cache around your function without changing its type. But in a
> pure functional language, each call to the cached version of the
> function must take the cache (or something containing the cache) as an
> explicit parameter, and return an updated version; the caller must
> thread these values along from each call to the next.
That's not necessarily the case. The optimizer for a pure functional
language will know that a function is pure and can handle
memoization/caching behind your back. That requires more work on the
part of the compiler, but there is no reason that it can't be done.
Perry E. Metzger email@example.com