Implementing Dependents and Dependencies in Lisp: Specification

Accessing dependents

(map-dependent f dm) -> dm

Maps function over dependents of dm. Returns dm.

(add-dependent dm dependent &optional recursivep) -> dm

Adds dependent as a dependent of em. If recursivep is t, then adds dependent as a dependent of anything for which dm is itself a dependent.

(delete-dependent dm dependent &optional recursivep) -> dm

Deletes dependent as a dependent of em. If recursivep is t, then deletes dependent as a dependent of anything for which dm is itself a dependent.

Objects with dependents class

dependent-mixin

Class representing an object with dependents. Intended to be used as a mixin class. The actual list of dependents is accessible using the reader function dependents-of to access the value of the objects dependents slot.

Tracking dependencies

(map-dependencies f dm) -> dm

Maps function over dependencies (objects on which it depends) of dm. Returns dm.

(add-dependency dm dependency &optional recursivep) -> dm

Adds dependency as a dependency of em. If recursivep is t, then adds dependency as a dependency of anything for which dm is itself a dependency (i.e. note that dm depends on anything which dependency depends on).

(delete-dependency dm dependency &optional recursivep) -> dm

Deletes dependency as a dependency of em. If recursivep is t, then deletes dependency as a dependency of anything for which dm is itself a dependency.

Authors: Gail Anderson (ga@cley.com), Tim Bradshaw(tfb@cley.com), Cley Limited.
Copyright 1999–2003 Cley Ltd. & Franz Inc.