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

Re: Scheme Digest #125



For the sake of portability, I would like to plead with anyone who is
inventing a syntax for random values as part of a new Scheme system to use
the #! syntactic convention instead of grabbing yet another #X syntax,
where X is a character.  For example, I plead with you to say #!unspecified
instead of #unspecified.

Two reasons:

  1.  #!unspecified is already supported by several implementations.
      More generally, there is a tradition of using similar #! syntaxes
      for miscellaneous constants.
  2.  Within the Lisp world, most #X syntaxes are traditionally reserved
      for user-defined extensions to the syntax accepted by the read
      procedure.  The syntax of Scheme reflects this tradition, in which
      the first character following the # indicates the nature of the
      syntactic extension.  Note that there are only 26 (or 52) possible
      #X syntaxes where X is a letter, and that Scheme has already
      taken 8 (or 16) of these: #t, #f, #e, #i, #b, #o, #d, and #x.
      This causes no problem for Scheme systems that don't support
      user-defined #X syntaxes, but the existence of systems that do
      support user-defined #X syntaxes makes it less likely that syntaxes
      like #unspecified will ever become standard.

Peace,
William Clinger