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?