>>>> "Andy" == Andy Piper
<andy(a)xemacs.org> writes:
Andy> Its not my code. Isn't it just lisp's way of
"modularizing"
Andy> code? If you want code in multiple files how else should you
Andy> do this? The provides are so that jde can conveniently do
Andy> requires.
It's a matter of taste; I lean to the "let the caller choose" way of
thinking.
Inside of a package you can just load the library, since you _know_ it
will be there. This is just as easy: (load "jde-foo") vs (require
'jde-foo).
A require is more a user-level (including other packages) feature;
something where you _don't_ know if the facility is present on the
system.
An intermediate case is where you have a driver library that
optionally loads several modules which in turn require (in common)
certain modules. But in this case you had better be providing a
consistent API, or you'll drive yourself crazy. And if so, and it's a
little bit general, why not publish the API?
Andy> even though requiring anything other than jde outside of jde
Andy> will probably break
This is the responsibility of the requiring code, not ours.
The main consideration, though, is that right now the only convenient
introspection into the package system dependencies that we have is the
REQUIRES and PROVIDES variables in package Makefiles.
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
My nostalgia for Icon makes me forget about any of the bad things. I don't
have much nostalgia for Perl, so its faults I remember. Scott Gilbert c.l.py