From: Frode Vatvedt Fjeld
Subject: type hierarchy
Date: 
Message-ID: <2h1ys0hhz7.fsf@dslab7.cs.uit.no>
Does anyone know where I might find a (more or less complete) record
of Common Lisp's type hierarchy?

Or, any ideas on how I might extract (parts of) this information from
an implementation?

-- 
Frode Vatvedt Fjeld

From: Tim Bradshaw
Subject: Re: type hierarchy
Date: 
Message-ID: <nkjn1aopqeh.fsf@tfeb.org>
Frode Vatvedt Fjeld <······@acm.org> writes:

> Does anyone know where I might find a (more or less complete) record
> of Common Lisp's type hierarchy?
> 
> Or, any ideas on how I might extract (parts of) this information from
> an implementation?
> 

An easy answer to a slightly different question (class heirarchy) is
to start at T, then keep asking class-direct-subclasses (I think
almost any CLOS will have this somewhere), filtering on things not
external in CL.  If you have a graphing tool then it's fairly easy to
draw pictures based on this.  psgraph is available somewhere and will
do this.  I have a class-grapher in CLIM which I could probably make
available (but it's very easy to write one).  I suspect the commercial
implementations have graphing tools provided -- certainly I think ACL
and LW do.

--tim
From: Frode Vatvedt Fjeld
Subject: Re: type hierarchy
Date: 
Message-ID: <2hr900fjzs.fsf@dslab7.cs.uit.no>
Tim Bradshaw <···@tfeb.org> writes:

> An easy answer to a slightly different question (class heirarchy) is
> to start at T, then keep asking class-direct-subclasses (I think
> almost any CLOS will have this somewhere), filtering on things not
> external in CL.  If you have a graphing tool then it's fairly easy
> to draw pictures based on this.  psgraph is available somewhere and
> will do this.

Once I figured out that psgraph is a tool written in common-lisp, I
found this to be an excellent solution:

(with-open-file (*standard-output* "cl-types.ps"
		 :direction :output
		 :if-exists :supersede)
  (psgraph 't #'(lambda (p)
		  (loop for cc in (aclmop:class-direct-subclasses
				   (find-class p))
		      as c = (class-name cc)
		      when (eq (find-package '#:common-lisp)
			       (symbol-package c))
		      collect c))
	   #'(lambda (s) (list (symbol-name s)))
	   t))


..provided me with exactly what I was looking for. Thanks :-)

-- 
Frode Vatvedt Fjeld
From: Coby Beck
Subject: Re: type hierarchy
Date: 
Message-ID: <0bHr6.17164$v5.64581@newsfeeds.bigpond.com>
In allegro5.x you can select t and then "graph-all-subclasses"
(if i had it in front of me, i would tell  you the exact place to find
it...but its only two clicks away :-)

Coby

"Frode Vatvedt Fjeld" <······@acm.org> wrote in message
···················@dslab7.cs.uit.no...
> Does anyone know where I might find a (more or less complete) record
> of Common Lisp's type hierarchy?
>
> Or, any ideas on how I might extract (parts of) this information from
> an implementation?
>
> --
> Frode Vatvedt Fjeld