Lisp Scheme Part17at TECHLisp Scheme Part17 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト300:デフォルトの名無しさん 07/05/17 23:00:07 マクロのかわりができなきゃ何のために導入するの? 301:デフォルトの名無しさん 07/05/17 23:01:20 そういうのにストレス感じる人はコモンリスプへいらっしゃいw 302:294 07/05/17 23:05:20 >>300 defineは内部定義になってもset!は可視の束縛場所の値の変更ですから 使えるのではないでしょうか 内部定義だからxは自由参照じゃないからリネームされて外側のスコープの値を変更しない…んですよね? 保険的マクロ二加えて古典的マクロとgensymをR6RSに入れてくれれば良いのに 303:デフォルトの名無しさん 07/05/17 23:18:22 >>302 syntax-caseが導入予定。 古典的マクロはsyntax-caseで実装可能。 304:294 07/05/18 14:41:54 >>303 syntax-rulesの表現力に不満がある訳じゃなくて (まだ自分はそんなレベルじゃないです) 実装が難しくて挙動が処理系依存になっているのなら ポータブルな古典的マクロも標準に入れてほしいと思っただけです syntax-rulesでスコープが閉じてるとしたら マクロでdefineを使用すると必ず内部定義になってしまうから R5RSのマクロの項でトップレベル定義のdefineについて言及していることへの辻褄が合わなくなってしまいますね でも閉じてない(マクロ使用と同じスコープ)なら そのマクロは定義が許される文脈でしか使用できなくなりますね でも識別子の衝突を避けるためにリネームされるってことは 新しいスコープができている事に他ならない気もしますし どっちなんでしょうか 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch