scheme的条件表达式和求值顺序

scheme的条件表达式和求值顺序,scheme,racket,Scheme,Racket,思考以下表达: (cond (p1 (some_complex_expression1)) (p2 (some_complex_expression2)) (p3 (some_complex_expression3)) ... (else (some_complex_expressionN))) 这些是按需评估的复杂表达式吗?i、 e.“some_complex_expressionX”仅在谓词在其自身之前pX为真时才计算,或者,它们是否遵循应用

思考以下表达:

(cond (p1 (some_complex_expression1))
      (p2 (some_complex_expression2))
      (p3 (some_complex_expression3))
      ...
      (else (some_complex_expressionN)))
这些是按需评估的复杂表达式吗?i、 e.“some_complex_expressionX”仅在谓词在其自身之前pX为真时才计算,或者,它们是否遵循应用程序顺序在尝试谓词之前以某种方式尽可能多地计算

如果这取决于实现,那么下面的实现又如何呢

mit-scheme
guile
racket
that scheme for sicp
r5rs

在计算关联表达式之前,测试必须返回真值。这是由计划标准保证的;例如,请参见。

在计算关联表达式之前,测试必须返回真值。这是由计划标准保证的;例如,请参阅。

有关球拍的血淋淋的详细信息,请参阅。对于这个问题,你在问关于的语义;那里的文档逐步介绍了在什么条件下评估什么或不评估什么的详细信息。

有关球拍的血淋淋的详细信息,请参阅。对于这个问题,你在问关于的语义;那里的文档详细介绍了在什么条件下评估什么或不评估什么