On Jan 25, 2009, at 7:35 PM, wubbie wrote:

then, back to my original question.
They (dorun do all) differe ONLY in return value.
Then how come one forces eval and the other not?

Both force evaluation. Is there something that makes you think otherwise?

In the case of dorun, the members of the sequence are evaluated and then immediately thrown away.

In the case of doall, the members of the sequence are evaluated and the entire sequence is kept in memory and returned. None of the members are thrown away because the "coll" argument (which is also the returned value) holds a "reference" (in the java sense) to the first item, the first item holds a reference to the second item, and so on all the way down the chain.

--Steve

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to