From: Richard A. O'Keefe
Subject: (type-of 'NIL)
Date: 
Message-ID: <11960@goanna.cs.rmit.oz.au>
AKCL Version 1.179 (8 Aug 1989):
> (type-of 'NIL)
SYMBOL

POPLOG (Version 14.1) Common Lisp (version 1.4)
== (type-of 'NIL)
NULL

Are both of them right, or should we use a newer version of AKCL?

-- 
You can lie with statistics ... but not to a statistician.
From: Barry Margolin
Subject: Re: (type-of 'NIL)
Date: 
Message-ID: <12v6ftINN1eo@early-bird.think.com>
In article <·····@goanna.cs.rmit.oz.au> ··@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes:
>AKCL Version 1.179 (8 Aug 1989):
>> (type-of 'NIL)
>SYMBOL
>
>POPLOG (Version 14.1) Common Lisp (version 1.4)
>== (type-of 'NIL)
>NULL
>
>Are both of them right, or should we use a newer version of AKCL?

To quote CLtL2, the original description of TYPE-OF in CLtL was "totally
wimpy and therefore nearly useless."  All it required was that TYPE-OF
return some type of which the object is a member, i.e. it must be the case
that (typep object (type-of object)) is true.  Implementors were encouraged
to return as specific a type as possible, but not required (except for
structure types).  Thus, an implementation that returns T for everything
other than structures would conform to CLtL.

X3J13 added some more constraints, which correspond to the new text on p.66
of CLtL2.  If the object is one of the types mentioned in the table there,
TYPE-OF must return the most specific applicable type from that list, or
a subtype of it.  This effectively requires (type-of 'NIL) to return NULL.

-- 
Barry Margolin
System Manager, Thinking Machines Corp.

······@think.com          {uunet,harvard}!think!barmar