In message <20000920001558$[EMAIL PROTECTED]>
          Garrett Goebel <[EMAIL PROTECTED]> wrote:

> I'm particularly interested in commentary for and against:
> - the proposal as a whole

I think there's a big difference between the sort of short
circuiting provided by RFC 199 which I feel is best reserved
for cases where the function wants to terminate in a data
sensitive way, and lazy evaluation which I feel is a better
match for cases where the workload can be reduced in a context
sensitive way.

In other words if we notice that grep is being used in a boolean
context then we can terminate it as soon as we get a match without
any user intervention. Equally if map is assigned to a list of two
variables we can stop it as soon as we have generated those two
values. The only problem is side effects.

If people are worried about the side effect issue (and it is a
big problem) then I feel the lazy keyword suggested elsewhere is
a cleaner solution for those cases than your proposal.

> - the various syntax/semantics changes proposed

I think it requires too much user intervention for the common
cases of terminating a function early on the basis of context.

For data sensitive terminate I don't have a big problem with it.

Tom

-- 
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
...Somehow, somewhere along the line, this town lost its pride.

Reply via email to