Lisp Scheme Part37
■ このスレッドは過去ログ倉庫に格納されています
0890デフォルトの名無しさん
2014/01/17(金) 17:01:56.24いまいち syntax-case 他の衛生的マクロについて懐疑的なんだけども
初めて define-macro が微妙だと言われる実例で、少し納得がいった気がする
これって (count-increment) の部分が置き換わるわけだから、
その場所で shadow してしまってる count-number ローカル変数を操作対象にするのは
define-macro としては、ある意味自然だよね (もちろん参照透明性なんて無い)
それでも一瞬、マクロが定義された時点の count-number をリファレンスとして持ってるように
「見え」ちゃったし、本当にそうしたい場合にその手段が無いのは困るだろうな、とは思う
ここからがわからないのだけども、大多数の schemer は、衛生的マクロに対して何を求めてるの?
上記みたいな間違いを減らすための安全性?
自分は、本質を小さく保つのが scheme だと思ってて、そして define-macro は十分に小さくて本質を突いていると思っているのだけども、そこだけが未だに分からない
define-macro があれば他の衛生的マクロは実装できるんだよね?
(それとも gensym 無しではできないの?)
disりたいわけじゃないんだけども、schemer の価値観を知りたい…
■ このスレッドは過去ログ倉庫に格納されています