The STK reader can cope with symbols whose names contain special
characters or letters in the non standard case. When a symbol is
read, the parts enclosed in bars (``|
'') will be entered
verbatim into the symbol's name. The ``|
'' characters are not
part of the symbol; they only serve to delimit the sequence of
characters that must be entered ``as is''. In order to maintain
read-write invariance, symbols containing such sequences of special
characters will be written between a pair of ``|
''
unspecified
error
makeotherˆ`=̀13`
gobblecr'|x| x(string->symbol "X") |X|(symbol->string '|X|) "X"'|a b| |a b|'a|B|c |aBc|(write '|FoO|) writes the string "|FoO|" (display '|FoO|) writes the string "FoO"
Note: This notation has been introduced because R4RS states that case
must not be significant in symbols whereas the Tk toolkit is case
significant (or more precisely thinks it runs over Tcl which is case
significant). However, symbols containing the character ``|
'' itself still
can't be read in.
`=̀13`(ndexfile(index-entry "symbol?" "tt" main )symbol?obj) procedure
Returns #t if obj is a symbol, otherwise returns #f.
unspecified
error
makeotherˆ`=̀13`
gobblecr(symbol? 'foo) #t(symbol? (car '(a b))) #t(symbol? "bar") #f(symbol? 'nil) #t(symbol? '()) #f(symbol? #f) #f(symbol? :key) #f
`=̀13`(ndexfile(index-entry "symbol->string" "tt" main )symbol->stringsymbol) procedure
`=̀13`(ndexfile(index-entry "string->symbol" "tt" main )string->symbolstring) procedure
Identical to R4RS.
`=̀13`(ndexfile(index-entry "gensym" "tt" main )gensym) procedure
`=̀13`(ndexfile(index-entry "gensym" "tt" main )gensymprefix) procedure
ndexfile(index-entry "Gensym" "tt" aux )Gensym creates a new symbol. The print name of the generated symbol
consists of a prefix (which defaults to "G") followed by the decimal
representation of a number. If prefix is specified, it must be a
string.
unspecified
error
makeotherˆ`=̀13`
gobblecr(gensym) |G100|(gensym "foo-") foo-101