[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: STREAMP and CLOS
Date: Mon, 24 Feb 1992 11:25-0500
From: barmar@Think.COM (Barry Margolin)
Subject: STREAMP and CLOS
To: bwild@azurro.fzi.de (Bernd Wild)
Cc: slug@ai.sri.com
In-Reply-To: <9202241751.AA00621@azurro.fzi.de>
Message-Id: <19920224162520.2.BARMAR@occam.think.com>
Date: Mon, 24 Feb 1992 12:51 EST
From: bwild@azurro.fzi.de (Bernd Wild)
We got a surprising result when applying STREAMP to an arbitrary CLOS
instance. It always returns T. This behavior has changed from Genera
8.0 to 8.1. While in 8.0 only "real" streams resulted in a T-value in
8.1 this can be observed for every instance.
For example:
(defclass aa ()())
(setf my-aa (clos:make-instance 'aa))
(streamp my-aa) => T
We looked at the implementation of STREAMP: theu send a FLAVORS
:WHICH-OPERATIONS message to the CLOS instance and obtain a message
list which always contains the symbols :TYO and TYI which are
significant for a stream.
So, what's the correct predicate for checking anything for stream or
not?
I can't reproduce this. I did
(clos:defclass foo () ())
(setq a (clos:make-instance 'foo))
(streamp a) => NIL
(send a :which-operations) => (:SEND-IF-HANDLES :WHICH-OPERATIONS :OPERATION-HANDLED-P :PRINT-SELF)
I'm running Genera 8.1.1, in case you're running plain 8.1. I don't
think it should make a difference, though; none of the CLOS patches in
the ECO seem to relate to this.
barmar
I'm running 8.1.1 too and it does return T for me. This is starting to be
interesting! :-)
Mike McDonald Advanced Technology Dept.
Harris Corp.
Email: mac@trantor.harris-atd.com M.S. 3A-1912
Voice: (407) 727-5060 P.O. Box 37
Fax: (407) 729-3363 Melbourne, Florida 32902