[asdf-devel] summary proposal for COMMON_LISP_PATH and system search changes

Pascal J. Bourguignon pjb at informatimago.com
Thu Oct 1 18:46:28 UTC 2009


On Oct 1, 2009, at 3:55 PM, Gary King wrote:

> Take 2.
>
> Thanks for all the comments and ideas; and is a new summary.
>
>
> # Proposal Summary
>
> * a `!` will be replaced by the default value (see below) so
>   that it is easy to extend the path rather than just
>   replacing it.

I don't like too much using random characters like this.

On the other hand, I'm not sure I've got a good proposition here.
I've seen programs using the ${VAR} or $(VAR) syntax.  So instead
of matching "!", we'd match "${DEFAULT}".  We'd write:

export CL_SYSTEM_PATH="${HOME}"'/lisp/*/:/data/lisp/**/system/:$ 
{DEFAULT}'
or:
export CL_SYSTEM_PATH="${HOME}/lisp/\*/:/data/lisp/\*\*/system/:\$ 
{DEFAULT}"

which is nice when there is several such variable the program provides,
but is also confusing the user  with environment variables vs. the  
program
variables.



> * if the last component is a `*` or `**` then sub-directories
>   of this path will be searched recursively either one level
>   deep (if `*`) or all the way down (if `**`).

I see no reason to restrict it to the last component.
On the contrary, we may assume that each system is delivered with a
specific directory structure, and that a system X could have its
various asdf, defsystem, xcvb files in a specific subdirectory:

    X/system/X.asd

in which case we would set:

    CL_SYSTEM_PATH=/src/lisp/\*/system/:\${DEFAULT}



-- 
__Pascal Bourguignon__
http://www.informatimago.com







More information about the asdf-devel mailing list