Makoto Satoh
makot****@yahoo*****
2005年 4月 22日 (金) 12:06:47 JST
佐藤です。 > ただ、このような呼び出し形式のマクロはCL文化ではよく見るのですが > (CL標準のwith-open-fileなんかもこの形式ですね)、Schemeではあまり > 見ませんね。どちらかというと with-* 自体を関数にして、明示的に > クロージャを渡す方が好まれるようです。特に、束縛を導入する構文を > 増やしたがらないような感じがあります (let類似のものを除く)。 なるほど。wiliki-with-dbを見て、「あれー、マクロじゃないのね」と 思っていました。 > 私自身、with-* というマクロをつい書いてしまうことがありますが、 > 標準との整合性 (with-input-from-file等) を考えると、似た名前で > マクロと関数が混在するのは好ましくないと思います。 なるほど。WiLiKiにあるCGI:スケジュール予定表ではwith-dbがマクロ ですが、まああれは1つのCGIなので同等に論ぜないですが、APIとして 公開するということなので、この「好ましくないと思う」を考慮して おきたいと思います。 > Gaucheらしい呼び出し形式としては、こんな感じで、procに作られた > イメージオブジェクトを渡し、オプショナルなものをキーワードで渡す > ようにしたらどうでしょう。call-with-input-file等のAPIと並べてみて > 下さい。 > > (call-with-gd-image width height proc &keyword true-color) > > なお、&keywordというのはここではAPIを示すのに使っているだけで、 > 実装では let-keywords* などを使って自分で取り出す必要があります。 この方針でやってみます。ありがとうございました。