[Gauche-devel-jp] Re: Can we distinguish gensym from normal symbol?

Back to archive index

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





Gauche-devel-jp メーリングリストの案内
Back to archive index