Hello,
I'd like to apply for a common-lisp.net hosting for some code I wrote
Name: Nick Allen GPG key: I don't have one yet, but I'll get one shortly Project name: cl-component License: BSD Contributors: Nick Allen Description: an orthogonal, extendible library for defining and examining dependencies between CLOS objects
provides a COMPONENT class that extends MAKE-INSTANCE, REINITIALIZE-INSTANCE, etc with a :DIRECT-SUBCOMPONENTS keyword.
Instances of COMPONENT class can be examined with the following funtions
direct-subclasses direct-superclasses
and both instances of COMPONENT class and lists of instances of COMPONENT class can also be more thoroughly examined with the following functions:
all-subclasses all-superclasses
subcomponent-hierarchy supercomponent-hierarchy
which also take an optional "test" and "recurse-failed-subcomponent?"/"recurse-failed-supercomponent?" args to allow the user to efficiently examine obfuscated nets while only generating as many cons cells as are needed for the returned list.
There is also a simple metaprotocal to allow users to extend the behavior of the COMPONENT class and its subclasses and some condition stuff dealing with circular dependencies...
...
SUBCOMPONENT-HIERARCHY and SUPERCOMPONENT-HIERARCHY will hopefully be useful for things like recompiling in order all supercomponents of an arbitrary group of files from a defined system or loading an arbitrary group of modules and their shared dependencies. Once I get an internet home for the project I'm going to drop a line on c.l.l. and cl-gardeners and see if there would be interest in starting a mailing list to discuss what a system-definition facility based on this library might look like...
thanks for your time
Nick