[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: functional languages ill-suited for large programs?

Jim Blandy <jimb@redhat.com> 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		perry@piermont.com