On Wed, 2014-03-12 at 08:51 -0500, Robert P. Goldman wrote: > Stelian Ionescu wrote: > > On Thu, 2014-02-27 at 22:30 -0600, Robert P. Goldman wrote: > >> How would you all feel about an alternate default location for lisp > >> systems, in addition to > >> > >> ~/.local/share/common-lisp/source/ > >> > >> I'm sure that .local was chosen out of the (in)finite wisdom of XDG, but > >> it just seems odd to me to hide the lisp systems from the user, which we > >> are doing by putting them in a location that requires ls -a. > >> > >> After all, these are systems, not configuration files. > >> > >> What about ~/asdf-systems which doesn't make the poor user play peekaboo? > >> > >> I came across this while editing the manual. I don't use this directory > >> myself; maybe everyone loves it. Or maybe no one uses the standard > >> default, and I shouldn't care. > > > > I would ask you not to add any more hard-coded directories to ASDF, and > > remove the already existing ones. If what you want is making life easy > > for newcomers, make an additional tool that initializes a work > > environment with convenient values, but separate the configuration of > > ASDF from the core. > > > > The only reason why ~/.local/share/common-lisp/source/ hasn't caused > > complaints is because nobody was already using it. In my case, ~/lisp > > has large numbers of duplicate .asd files and other systems I don't want > > to expose so a :tree recursion there would be very annoying. And please > > don't tell me to :ignore-inherited-configuration, for what's the point > > of the default configuration if so many people either don't use it or > > have to explicitly ignore it ? > > > > The problem with not adding hard-coded directories is that configuration > is too demanding of a new user. I have just overhauled the manual, and > there is WAY too much to have to know in order to just get started. > > IMO, no one should have to learn a complex DSL, or how to structure a > conf.d directory in order to write his or her first lisp system. > Compare with 'make' -- since make doesn't have to find its systems, it's > trivial to build a makefile for your first C program. That is not the > case with ASDF -- you can write your first .asd file, but ASDF won't > find it! > > Since ASDF *does* have to find the user's first ASDF file, we must make > that trivial to do. > > I'm open to proposals that don't involve a default directory, but I'm > not happy with the current state of affairs. > > The thought experiment I suggest is the following: You meet a new Lisp > user, who wants to write his or her first lisp system. It's so simple > it doesn't have any external dependencies. How do you explain ASDF > configuration so that it gets the system loaded, and is absolutely trivial?
1) install Quicklisp, it's easy and painless 2) put your projects in $QUICKLISPDIR/local-projects/ done. > I don't want to make an additional tool, since that requires somehow > getting all the implementations to bundle said additional tool That's not true. See for instance rbenv(ruby) and virtualenv(python). They're separate projects. > and because (a) we don't have a good way to make such a tool invocable from > the command line; (b) if we could do a, it would still be a problem to > get it to work on Windows as well as the Unix family tree; (c) anything > to do with modifying the file system is a bear because of the > inadequacies of the CL spec in this area. I didn't say it must be written in Lisp. Since it would only be asking a few questions and thereafter creating a few directories and files it can very well be perl/python. -- Stelian Ionescu a.k.a. fe[nl]ix Quidquid latine dictum sit, altum videtur.
signature.asc
Description: This is a digitally signed message part