Why (apply and '(1 2 3)) doesn't work while (and 1 2 3) works in R5RS? [duplicate]
问题 This question already has answers here : Using AND with the apply function in Scheme (9 answers) Closed 6 years ago . I tried it in Racket like this > (apply and '(1 2 3)) . and: bad syntax in: and > (and 1 2 3) 3 Does anyone have ideas about this? 回答1: Chris Jester-Young's answer is right, but there's one other point I want to highlight. The standard and operator is a macro which delays the evaluation of its arguments, by (essentially, if not exactly) turning (and a b c) into (if a (if b c