Shiro Kawai
shiro****@lava*****
2005年 2月 20日 (日) 13:25:17 JST
From: Katsutoshi Itoh <cut-s****@maste*****> Subject: [Gauche-devel-jp] Can we distinguish gensym from normal symbol? Date: Sun, 20 Feb 2005 11:14:02 +0900 > gensym で生成したシンボルとそれ以外のシンボルって識別できますか ? > Lisp の symbol-package に相当するものかと思うのですが。 Schemeにはpackageは無いので、作成したシンボルは全て同じ立場ですね。 (r5rs的には、シンボルを作るにはreadするかstring->symbolを使うしか ないかな)。 もっとも、「internされないシンボル」を作る手段を用意している処理系も 結構あります。 http://www.shiro.dreamhost.com/scheme/wiliki/schemexref.cgi?string-%3euninterned-symbol しかし、あるシンボルがinternされているかどうかを知る述語を用意している 処理系は少ないかも。 http://www.shiro.dreamhost.com/scheme/wiliki/schemexref.cgi?uninterned-symbol%3f もともとinternされないシンボルが必要なのはマクロで導入された識別子の 衝突を避けるためでしょうから、r5rs的には「hygienicなマクロを使ってね」 ってことになるんじゃないかと。 --shiro