Hi,
is it intended that this is not possible?
(apply and (list #t #f #t))
'and' is a syntactic form, not a function, and you can't apply a
syntactic form.
I've never understood quite why this was necessary, perhaps to
implement short-circuiting, but it really breaks the model.
I've skirted it in STk with this function:
(define (fand . args)
(eval `(and ,@args)))
and then I can do:
(apply fand '(#t #f #t))
but I've never liked this solution very much, since eval isn't
standard.
Avoiding evaluation of the arguments isn't an issue here, since the
list of arguments has already been constructed. So, now that I think
about this again, a list traversal routine would do just as well.