On 30/12/15 02:25, Pascal Costanza wrote:
Hi,
1) I believe package-local nicknames are very useful. Being able to
use abbreviations and avoiding conflict between nicknames from the use
site are just good ideas.
2) I don’t believe hierarchical package names are useful. That’s a
Javaism which just makes things too complicated (especially if they
then also are reflected by the directory hierarchy - beurk ;).
You're saying that because there are only 1279 systems in quicklisp so
it's still manageable as a flat list. But wait a little with tens or
hundreds more systems and packages!
Probably, you've never worked with a big source base with a directory
hierarchy didn't match the naming scheme.
Also, I agree with Kenny that splitting libraries into too
fine-grained small little packages is not a good recipe for organizing
your projects. Lisp packages want to be big, and there is no major
disadvantage in doing so, and I fear that hierarchical package names
encourage unnecessary fine-grained splitting. That just creates
visibility problems, and distract from solving /actual/ problems.
Agreed.
Basing package names on domain names provides the illusion that you
have unique names, but domain names come and go, companies change
owners, repositories move to different hosting servers, etc., etc., so
they are not as stable as one might think. If people use sufficiently
long package names that can then be renamed locally using
package-local nicknames, that’s sufficient, IMHO.
Oh, you're right. Now I see the light. I will therefore rename my
com.informatimago.* package into 2915BB3ECC3D45029DBF41BD48508E2E.*
And let's not talk about the 3 or 4 different CLON packages we have...
My primary CL implementation is LispWorks, so I don’t use
package-local nicknames in practice, but I have used other languages
with similar features (most notably Oberon), and they were just very
handy.
--
__Pascal J. Bourguignon__
http://www.informatimago.com/