Shiro Kawai
shiro****@lava*****
2003年 2月 10日 (月) 13:35:15 JST
From: Kimura Fuyuki <fuyuk****@hadal*****> Subject: Re: [Gauche-devel-jp] 多値のバグ? Date: Mon, 10 Feb 2003 12:34:12 +0900 > At Sun, 09 Feb 2003 17:03:46 -1000 (HST), > Shiro Kawai <shiro****@lava*****> wrote: > > > > 今のところ、期待される数よりも多くの値が渡された場合、 > > 大抵は最初の値だけが取られるようになっているんですが > > (CommonLisp的)、それを当てにしたコードが書かれると > > 他のSchemeとの互換性等の面でいろいろ問題もあるので、 > > どうしようか、決めかねています。 > > 個人的には Common Lisp 的動作で確定してくれることを希望。:) CL的動作は便利すぎるんですな。多分あったら皆それを当てにして コードを書きはじめるでしょう (少なくとも私はそうする)。 しかしそれはSchemeとして越えてはいけない一線のような気が… (Gaucheは既に踏み越えてしまっているかどうかは不問) いや、他のGaucheの拡張と同じように、Gaucheの中だけで閉じて使うと 決めて使えば別に良いんですが、多値の必要ない分を捨てるという 機能はAPI設計にも影響を与えると思うんですね (たまにしか使わない だろうけど、どうせ普段は無視されるから補助的な情報もとりあえず 返しておこう、みたいに)。他の多くのGaucheの拡張機能は適当に wrapするAPIを考えれば別の処理系でも実装できるかもしれませんが、 多値の扱いは多分それが出来ないんで(自分でインタプリタを書くしかない)。 ただ、CLのnth-valueマクロみたいなのは標準で持ってて良いかなと 思っています。標準のSchemeでも書けますし、ネイティブでサポート すれば効率も良くなると。 --shiro