
Hi Peter! On Tue, 26 Aug 2008 22:36:11 +0200, Peter De Wachter wrote:
On Tue, 26 Aug 2008 01:08:53 +0200 Luca Capello <luca@pca.it> wrote:
- utilities.lisp doesn't have an IN-PACKAGE form, so it gets loaded in whatever random package happens to be active.
Since it's loaded by all the three subsystems, I'd say it's correct.
Well, consider this transcript: [...] Utilities.lisp clobbers variables and functions in whatever package the user happened to be in, that can't be right. And re-loading the geodesics fasls won't work if that :foo package no longer exists.
OK, now I understood what you meant, fixed [1].
I guess the idea was to having to load only one system instead of three. It can also be possible to split geodesics.asd in three different files, one for each subsystem, still providing the old geodesics.asd which loads the three.
But those three systems define functions with the exact same names: geodesics:a geodesics:da/dt geodesics:adash geodesics:n geodesics:dn/dt geodesics:ndash If you load GD-STATIC-UNEQUAL after GD-STATIC-EQUAL, you'll redefine GD-STATIC-EQUAL's functions. If you next load GD-COSMOLOGICAL, you'll just redefine them again. A system that loads more than one of these three is nonsensical.
I committed the split [2], but I kept geodesics.asd for backward compatibility. However, we still have only one package, GEODESICS: should each system define their own package? Thx, bye, Gismo / Luca Footnotes: [1] http://git.debian.org/?p=pkg-common-lisp/cl-geodesics.git;a=commitdiff;h=09d... [2] http://git.debian.org/?p=pkg-common-lisp/cl-geodesics.git;a=commitdiff;h=891...