[asdf-devel] :logical-hostname

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Tue Mar 30 10:00:43 UTC 2010


Some considerations:

* In order to achieve a declarative syntax in ASDF, the system that we built
it with should have the least knowledge about ASDF. In other words, it
should work just the same if we bulid it with any other system.

* Following this reasoning, logical pathnames are a useful choice because we
do not force the application to invoke any functions on the system being
built, for instance. Using special-purpose variables such as
*asdf-system-location* are also not an option.

* A complementary action that ASDF might take is to load the libraries with
a different value of *default-pathname-defaults*, but this may have nasty
effects if the library is expected to work in the directory where the user
is going to invoke it.

* The user of the library should be given full choice over the logical
pathnames he / she wants to use, within margings. If we begin imposing
ASDF-specific choices such as COMMON-LISP:ASDF;CL-PCRE;*.*.* then we are
doomed.

* Logical hostname pollution is not such a big issue, as developers tend to
have a good sense of measure in choosing their hostnames, prefixing them
with their actual hostnames (de.weitz.cl-ppcre: ...) or using other uniform
conventions. We can recommend their use and even perform some sanity check:
whether two systems use the same logical hostname, for instance.

* Logical hostname lookup is cheap, log(#hostnames) if using sorted vectors
or log(1) for hashes. Logical pathname translation is NOT CHEAP, it takes a
time which is linear in the number of translations.

* Including logical pathnames in defsystem instead of just the name of the
host is going to be problematic. I know at least one implementation (SBCL)
that complains when we try to build a logical pathname with a host name that
has no logical translations. It is the fish eating its own tail: we can not
define the logical pathname in defsystem and thus we can not define the
translation and thus...

* We do not need to fix logical pathnames. We just have to offer them as a
portable solution for system distribution. Developers will have to care
about the way they name their files and learning how logical pathnames work.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://tream.dreamhosters.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20100330/3f403a01/attachment.html>


More information about the asdf-devel mailing list