[asdf-devel] :logical-hostname
james anderson
james.anderson at setf.de
Tue Mar 30 17:04:42 UTC 2010
On 2010-03-30, at 16:25 , Juan Jose Garcia-Ripoll wrote:
> On Tue, Mar 30, 2010 at 4:19 PM, Robert Goldman
> <rpgoldman at sift.info> wrote:
> On 3/29/10 Mar 29 -6:42 PM, Faré wrote:
> > One site per system looks like it will quickly pollute the host
> > namespace. What about we instead use a single logical host with
> > subdirectories?
> >
> > #P"COMMON-LISP:SYSTEMS;CL-PPCRE;CL-PPCRE.ASD"
> >
> > The problem I have with this approach with logical pathnames at
> all is
> > that I don't understand whether or not mixed case and other
> characters
> > are allowed at all.
>
>
> They are not.
>
> The syntax of logical pathname namestrings is
>
> "word---one or more uppercase letters, digits, and hyphens."
>
> This causes pain when working with people
> WhoLikeOtherProgrammingLanguages.
>
> No, it does not cause any problem. If you have data that has weird
> names, but you know where they live in your system,
designators for auxiliary files is not the issue.
> then instead of using ASDF to query the paths you can simply query
> the logical hostname and merge the resulting path with the
> "nonstandard" components.
>
> So, instead of calling ASDF to locate your system, query its
> pathname, etc, you would do
>
> (defvar *my-code-base-path* (translate-logical-pathname "MY-SYSTEM:"))
>
> (defvar *my-nonstandard-component* (merge-pathname "foo/
> MixedCaseWith#WeirdChars.dat" *my-code-base-path*))
the problem arises when asdf itself needs to designate such files.
a portable mechanism to achieve that approaches reimplementing the
logical pathname subsystem.
just check out the pathname tests, put some nonconformant names in
the test specification and watch them fail.
differently in each implementation.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20100330/ea942a24/attachment.html>
More information about the asdf-devel
mailing list