[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Random metaclasses for CL types



   Date: 23 May 89  1047 PDT
   From: Dick Gabriel <RPG@SAIL.Stanford.EDU>

   [In reply to message from jonl@lucid.com sent Fri, 19 May 89 21:07:17 PDT.]

   I haven't been following this debate too closely, but on discussing
   it with Dussud and Jonl, I am not sure why the metaclass taxonomy cannot
   look like this:

		   class
		     |
	  ---------------------------------------------------
	  |               |                 |               |
   built-in-class basic-flavor-class structure-class standard-class
	  |               |
	  |     --------------------------------
	  |     |                              |
   flavor-implemented-built-in-class ordinary-flavor-class

   where basic-flavor has just enough structure to support the
   flavor-implemented builtins, and just enough ontology to represent flavors
   (as usual, I don't endorse these names). PATHNAME and STREAM are instances
   of flavor-implemented-built-in-class and user-defined or other flavors are
   instances of ordinary-flavor-class.

I think this would work. There are some issues that need to be ironed
out: Can the implementation allow subclasses of
flavor-implemented-built-in-class? If yes, then does 
flavor-implemented-built-in-class needs to expose its slots? or merely allow
subclasses to have slots and treat the superclasses like blackboxes?


   The other alternative is to flush built-in-class and let imlementations 
   decide their own metaclass hierarchy. Maybe that way we would see some
   implementors doing some innovative design.
I prefer this one, just because it leaves more options open to the
implementation. 

Patrick.