Re: (apply and (list #t #f #t))

Mikael Djurfeldt (mdj@nada.kth.se)
30 Oct 1997 17:21:02 +0100

Sascha Ziemann <szi@aibon.ping.de> writes:

> Hi,
>
> is it intended that this is not possible?
>
> (apply and (list #t #f #t))

Yes.

`and' is a special form, not a procedure.

The main reason why it isn't a procedure is that procedures get all
their arguments evaluated before they are applied, and `and' is often
used as a control structure (i.e. a kind of use akin to `if'). Only
those arguments that *have* to be evaluated in order to determine its
result are evaluated.

/mdj