This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


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