home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!usc!sdd.hp.com!spool.mu.edu!agate!anarres.CS.Berkeley.EDU!bh
- From: bh@anarres.CS.Berkeley.EDU (Brian Harvey)
- Newsgroups: comp.lang.scheme
- Subject: Re: Unspecified values in R4RS
- Date: 22 Jan 1993 16:00:39 GMT
- Organization: University of California, Berkeley
- Lines: 33
- Message-ID: <1jp5n7$nm@agate.berkeley.edu>
- References: <1993Jan21.195822.23639@sqwest.wimsey.bc.ca> <1jn7ou$m5n@agate.berkeley.edu> <BRENT.93Jan22085102@rcx1.ssd.csd.harris.com>
- NNTP-Posting-Host: anarres.cs.berkeley.edu
-
- In response to my suggestion that "unspecified" be replaced by "nonprinting",
- brent@ssd.csd.harris.com (Brent Benson) writes:
- >Implementations are free to return a non-printing value for
- >unspecified return values. It seems like a bad idea to mandate a
- >non-printing unspecified return value when there is no clear evidence
- >that it is the most useful or understandable. I think it's a good
- >idea to let implementors try different ideas and see what works best.
- >Implementators and users will gravitate towards what works.
-
- It seems to me that this argument could be made about almost any issue.
- For example, why specify that (car '()) should be an error? Some people
- like it better if (car '()) --> (). So let's have the standard say that
- it's unspecified. Pfui; then nobody can understand anyone else's programs.
-
- Leaving something unspecified in the standard invites some implementor to
- give it a "useful" value; and that encourages users of that implementation
- to use it; and that makes programs non-portable.
-
- But my real concern comes from the fact that I've been writing a textbook
- using Scheme. Every time there is an "unspecified" in the standard, the
- text ends up with an ugly explanation of why we can't tell the poor reader
- what happens when you enter this expression.
-
- I can see that there are a few cases in which it would impose a burden on
- implementations to get rid of all the unspecifieds, such as some of the
- more obscure ones in EQ? and EQV?. But those don't bother me so much.
- It's the easy cases, like DISPLAY, SET!, DEFINE, and so on, that I want to
- get rid of.
-
- It's not as if DEFINE were only invented last week, so we need another year
- or two of experience with it before we can have opinions about what value
- it should return. If we don't know by now, then it doesn't matter, and you
- might as well humor me! :-)
-