For Development HEAD DRAFTSearch (procedure/syntax/module):

11.70 srfi.258 - インターンされないシンボル

Module: srfi.258

This SRFI defines a common interface to handle uninterned symbols.

Uninterned symbols are the symbols that are not registered to the internal hashtables mapping names to symbols. There’s no way to get a symbol eq? to an existing uninterned symbol, except being passed a direct reference to it. It is handy for legacy Lisp macros to avoid name collisions, for uninterned symbols created during macro expansion will never conflict with symboss created elsewhere.

With its hygiene macro system, Scheme does not need uninterned symbols to avoid name conflicts in macros. Nevertheless, many Scheme implementations, including Gauche, provide this facility, partly to ease porting other Lisp idioms, or a handy way to get a unique object.

This SRFI is defined so that the user program can access uninterned symbosl portably, if the implementation provides one.

Gauche has the following two procedures defined in this SRFI as built-in:

string->uninterned-symbol
symbol-interned?

See シンボル, for the details.

Function: generate-uninterned-symbol :optional prefix

[SRFI-258]{srfi.258} Creates and returns a fresh uninterned symbol. Similar to gensym (see シンボル), but this allows both symbol and string in prefix.



For Development HEAD DRAFTSearch (procedure/syntax/module):
DRAFT