Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!mit-eddie!uw-beaver!uoregon!will From: will@uoregon.uoregon.edu (William Clinger) Newsgroups: comp.lang.scheme Subject: Re: Scheme Digest #125 Summary: please use #!unspecified, not #unspecified Keywords: unspecified Message-ID: <4797@uoregon.uoregon.edu> Date: 31 May 89 01:00:35 GMT References: <8905301538.AA06079@sesame.Stanford.EDU> Reply-To: will@fog.UUCP (William Clinger) Organization: University of Oregon, Computer Science, Eugene OR Lines: 25 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