R6RS:翻訳:R6RS:A8 Eqv

R6RS:翻訳:R6RS:A8 Eqv

A.8 eqv?

[image]

図 8: eqv?

eqv? についての規則を図 8 に示す。最初のふたつの規則が eqv? の振る舞いのほとんどを網羅している。最初のものは、引き数ふたつが構文上同一であれば eqv? 手続きは #t を生成することを言い、 2 番目は引き数が構文上同一でなければ eqv? は #f を生成することを言っている。 v の構造は、 eqv? の振る舞いに密接に対応するように注意深く設計されている。例えば、対は格納域へのポインタとして表現されてい、 eqv? はそのポインタを比較するだけである。

この最初のふたつの規則の周辺条件は単純な項の等価性が eqv? の振る舞いに一致しない場合に適用されないことを保証している。一致しない場合にはふたつの状況がある。コンディションを比較する場合と手続きを比較する場合である。最初の場合について、本報告書は、真偽値を返さなければならないと言うだけで eqv? の振る舞いを規定せず、残りのふたつの規則([6eqct] と [6eqcf])がそのような比較が #t ないし #f を返すことを認めている。手続きの比較については R6RS:翻訳:R6RS:A12 Underspecification? で網羅されている。


Last modified : 2008/04/13 09:51:00 UTC