[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: character objects & randomness



Making #/ generate character objects did not originate in CHPROP.  I
am quite certain that back in the early design of NIL (1978) that we
decided that #/ would read as a character object (and, against my weak
protests, that ~ would also -- my own position is that there is no
point in gobbling ~); to read a fixnum equivalent to a character there
would be the syntax #=/x, and to read a character equivalent to a
fixnum (how awful!) there would be #=nnn.  CHPROP's contribution was
to note that one can make a *conceptual* distinction between
characters and fixnums whether or not an *implementational*
distinction is drawn.  Therefore CHPROP suggests that #/x mean "that
object which in the current implementation is standardly used to
represent the character x", whether that be a fixnum, a special
character data type, a symbol, or whatever.  Additionally, #=/x is
guaranteed to be a fixnum, and #=nnn is like #/x where #=/x equals
nnn.

By the way, the obvious extension is that #=\RUBOUT works just like #=/x,
though I haven't edited CHPROP yet for that.