Scheme * では、引数の積を返します。引数なしで呼び出された場合は 1 を返すか、引数が 1 つある場合は引数を返します。
(*) => 1
(* 2) => 2
これのセマンティクスは何ですか?どのように値を返すことができますか? 乗算を実行するために、引数 1 を暗黙的に追加しているようです。これはどこで説明されていますか?
この疑問は、次のことに出くわしたときに頭に浮かびました。
(call-with-values * -) => -1
明らかに、これは 1 が乗算の恒等式であるためですが、これがどこにも言及されているのはよくわかりません。簡単に言えば、引数のない積が 1 になるのはなぜですか?