Symbols

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 ``|''

$\Longrightarrow$
$\Longrightarrow$ 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.

$\Longrightarrow$
$\Longrightarrow$ 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. $\Longrightarrow$
$\Longrightarrow$ unspecified error makeotherˆ`=̀13`


          gobblecr(gensym) |G100|(gensym "foo-") foo-101