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

defsystem: when to use :uses-definitions-from dependencies?



    Date: Fri, 10 Jan 1992 07:45 CST
    From: dmitchell@trc.amoco.com (Donald H. Mitchell)

    I understand the need to use (:uses-definitions-from foo) 
    or (:in-order-to (:compile :load) (:load foo)) when foo contains macros that the module
    requires.  What dependencies should I use when foo contains 
    CLOS class definitions? 
    CLOS generic functions? (I'm assuming (:in-order-to (:load) (:load foo)))
    CLOS methods? (I'm assuming (:in-order-to (:load) (:load foo)))

    Are there any situations other than macros where I need (:uses-definitions-from foo)?

Setf methods.  Users of (setf (foo-slot bar) baz) need to be recompiled
after any setf methods on the foo-slot of bar's class are defined and/or
modified.

    Slightly different question:

    I've used (:uses-definitions-from foo-system) to show dependencies among systems; however,
    compile system does not seem to check whether the system foo-system has been recompiled
    when determining whether to compile the given module.  Is there a way to force this check
    without having to use the force compile option on the call to compile system?

I don't know of any, aside from sharing files among systems, which is at
the very least a risky thing to do.  As I understand it, SCT doesn't look
at a component (or sub-) system's plan when dealing with a dependent
system, so it has no good way of checking compilation dates.

    Don Mitchell			dmitchell@trc.amoco.com
    Amoco Production Company	(918) 660-4270
    Tulsa Research Center
    P.O. Box 3385, Tulsa, OK 74102