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
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
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
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