Subject: Re: circular dependencies: what is "The Right Thing"? From: Erik Naggum <email@example.com> Date: 1998/02/20 Newsgroups: comp.lang.lisp Message-ID: <firstname.lastname@example.org> * Sam Steingold | 2. Jaari Aalto asked a similar question (about ELisp) some time ago, and | Erik Naggum said that asking this question demonstrates ignorance about | lisp philosophy. So I know this, and if this is the only thing you want | to say, you don't have to. :-) well, Jari Aalto's questions are all ignorant of the Lisp philosophy (after 5 years he has learned less than my cat did the first month she spent in my lap while I was programming), so my answer doesn't really have anything to with the _general_ topic at hand, only his _specific_ "problems". don't make the mistake of thinking that all the stuff he's doing is not worth doing or finding out -- it is that somebody who is so profoundly uninterested in doing it right does it that is the problem. to your question: generally speaking, you need to load Lisp definitions in the order they are needed. macros first, then typically types and classes. variables that are declared special must be known to the compiler before functions that bind or reference them are compiled. complex defgeneric forms need to go before the first method. etc. it might be wise to arrange files to be compiled and loaded in these terms since Lisp doesn't really provide "forward declarations", but there's nothing to say a different order is a violation of anything or that you won't succeed with a different order, it just makes sense to make a small set of rules for yourself that keeps your mind of these problems. #:Erik -- God grant me serenity to accept the code I cannot change, courage to change the code I can, and wisdom to know the difference.