On 15 Dec, 2011,at 03:58 AM, Gregory Crosswhite <gcrosswhite@gmailcom> wrote:

This is even more out there than my previous posts, but the following just occurred to me:  is it absolutely necessary that some/many have produced the entire list of results before returning?
 
No, it is not absolutely necessary.

Couldn't we change their semantics so that the list of results is computed and/or extracted lazily?
 
I do not regard that as a change in their semantics - it is perfectly allowed already  Indeed, the instances of some/many that I write are already lazily-unfolding, wherever possible.  It all depends simply on whether your instance of Applicative is lazy or strict.

Regards,
    Malcolm