Paul Johnson <[EMAIL PROTECTED]> writes:

> On Fri, Nov 08, 2002 at 12:12:53PM -0700, Luke Palmer wrote:
>
>> What's wrong with C<cached>?
>> 
>> C<pure> ain't bad either, but it won't appeal to
>> non-mathematicians---even certain kinds of mathematicians.
>> Mathematica thinks a "pure" function is what we think of as an
>> "anonymous" sub.  So I like C<cached>.
>
> Part of the reason I would prefer something like "pure" over something
> like "cached" is because it describes the function rather than telling
> the compiler how to deal with it.  That feels better to me.  It's
> working at a higher level.  Maybe the end result is the same, or maybe
> there are other optimisations which can be made with "pure" functions.
> It's a way of nailing down the contract on the function rather than
> specifying implementation details.

This man is right. Listen to him. After all, if functions get labelled
as 'pure' one could potentially write:

    package MemoizePureFuncs {
      sub import($package) {
        for $package.functions -> $func {
          Memoize::memoize($func) if $func.attribs{pure};
        }
      }
    }

Or any other optimization you think is worth applying to all pure
functions.

-- 
Piers

   "It is a truth universally acknowledged that a language in
    possession of a rich syntax must be in need of a rewrite."
         -- Jane Austen?

Reply via email to