On Wed, May 02, 2001 at 12:01:24PM -0400, Uri Guttman wrote:
> >>>>> "GB" == Graham Barr <[EMAIL PROTECTED]> writes:
> 
>   GB> On Wed, May 02, 2001 at 04:30:07PM +0100, Michael G Schwern wrote:
>   >> On Wed, May 02, 2001 at 08:05:29AM -0700, Larry Wall wrote:
>   >> > Michael G Schwern writes:
>   >> > : (grep {...} @stuff)[0] will work, but its inelegant.
>   >> > 
>   >> > It's inelegant only because the slice doesn't know how to tell the
>   >> > iterator it only needs one value.  If it did know, you'd call it
>   >> > elegant.  :-)
>   >> 
>   >> I'd call it Haskel!  I've just installed it and have been skimming the
>   >> docs.
>   >> 
>   >> Would be neat if:  my($first) = grep {...} @list;  knew to stop itself, yes.
> 
>   GB> Yes. This could probably fall out of the suggestion that wantarray
>   GB> (or want) return how many elements are wanted in a list context
> 
> provided the list was literal. if it is created via a function or an
> expression then you have to pass the laziness and wantarray count up the
> line, etc. i don't know if we (or larry) wants to make all code have a
> maximum iteration/count value implicitly passed into them and have such
> lazy evaluation at all times.

wantarray-ness is already passed along the call stack today. Thats
the whole point of it. So what is the difference in passing a number
instead of a boolean ?

How this cooperates with lazy is a different matter entirely.

Graham.

Reply via email to