Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!hookup!olivea!news.hal.COM!decwrl!netcomsv!netcom.com!bakul
From: bakul@netcom.com (Bakul Shah)
Subject: Re: three R4RS/IEEE questions
Message-ID: <bakulD0x9Hu.MKM@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <LORD.94Dec7141015@x1.cygnus.com> <3cl5rd$9u5@apple.com> 	<LORD.94Dec14223917@cygnus.com> <bakulD0vILL.6sD@netcom.com> <ROCKWELL.94Dec16001535@nova.umd.edu>
Date: Fri, 16 Dec 1994 21:10:42 GMT
Lines: 32

rockwell@nova.umd.edu (Raul Deluth Miller) writes:

>Bakul Shah:
>. I am sorry but I just do not understand how a `Standard' can say
>. _anything_ about objects that are not specified in it.

>Hmm... but if the standard specifies that for all x, at most one of
>(null? x) or (boolean? x) can be true, is that a specification about
>x, or a specification about null? and boolean?

I would interepret that statement to mean ``for all x, where x is
an object of one of the types specified in the standard, at most
one of (null? x) or (boolean? x) can be true''.  (Clearly, null?
and boolean? also belong to that set).

The standard can not know and (IMHO) should not care if you add a
new object type and extend boolean?  & null? so that they both
return true for an object of this new type.  Now if you extend,
say `list?', so that it returns true for an improper list whose
last element is this new fangled object, you can still claim your
implementation is standard conforming.  Next, if you replace the
reader so that it returns in an improper list of this kind in
place of a proper one, even then your impl. is standard
conforming.  But you can't *legally* do a damn thing as the new
reader won't return a valid list for something as simple as
	(list a b)
If you further modify every procedure so that this new kind of
list is acceptead, then you have a new language that *looks* like
Scheme but will behave differently.  You are effectively working
outside the domain of the standard.

Bakul Shah
