<html><head></head><body>If I understand correctly, the proposal is to require configuration only for the special case of wanting faster start up, and absent that, configuration will be as before, since optimization for scripting is the exceptional case.<br>
<br>
That seems like a benign modification. I'd accept such a patch (with bumping of version for easy detection). We should document it appropriately, of course.<br><br><div class="gmail_quote">On August 21, 2014 2:39:24 AM CDT, "Faré" <fahree@gmail.com> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">On Thu, Aug 21, 2014 at 2:38 AM, Mark Evenson <evenson@panix.com> wrote:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><br /> On 21 Aug 2014, at 02:36, Faré <fahree@gmail.com> wrote:<br /><br /> […]<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> The trick here is in this new stop-at-asd flag, which here defaults to<br /> t and isn't configurable, but which should default to nil and be<br /> configurable, for backward compatibility. Its effect is that recursing<br /> into subdirectories stops if a .asd file is found in the toplevel<br /> directory. This saves a lot of recursing, and would save even more if<br /> a .asd file of symlink to one exists at the top of a git hierarchy.<br /> But this is incompatible with a lot of existing code, and so the<br /> transition will be long and pai
 nful if
this is adopted.<br /></blockquote><br /> If you proposing that the stop-at-asd property would be somehow configurable in<br /> the DEFSYSTEM form, like:<br /><br />         (asdf:defsystem :foo<br />            :contains-interior-asdf-defintions<br />            :components …<br /><br /> then please ensure that this is present when/if you introduce this change to<br /> ASDF.  But I get the feeling that in order to speed things up, you weren’t<br /> intending to parse the DEFSYSTEM form in your search.</blockquote><br />Indeed, requiring to parse a .asd file is a bad idea — and is even<br />worse when there are hundreds of .asd files in the directory.<br /><br />But maybe we could detect a file called source-registry.conf or<br />something similar, and parse that to look for subdirectories with .asd<br />files in them. In the absence of such a file, the default behavior<br />would for backward compatibility be to always recurse, or maybe for<br />speed in a future versi
 on
years from now be to recurse only if no .asd<br />file was found.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> If you are proposing that the user would have to do explicitly do some sort of<br /> configuration “for this instance of a user using asdf with this Lisp<br /> implementation”, I won’t be so happy because:<br /><br /> 1)  This sort of configuration hasn’t been necessary before, so we will<br /> introduce complexity in ASDF deployment for efficiency in using CL as a<br /> scripting language which is something I don’t currently use (Admittedly because<br /> my platform, ABCL, based on the JVM, is just not going to ever have reasonable<br /> startup times.  Although there are systems that keep a JVM “warmed up” for<br /> firing such one-off commands to, and for specialised JVM there are memory<br /> mapped solutions for faster startup).<br /><br /> 2)  I am using a system 
 (lsw2)
not in Quicklisp that has many such “interior”<br /> ASDF definitions. Usually when systems get in this state it is because they are<br /> big enough that nobody has time to package them correctly, so they tend to stay<br /> that way.  If I can’t put a flag in the top-level system, I’m going to run into<br /> problems when users haven’t done the per-user-per-lisp configuration.</blockquote><br />What about supporting a source-registry.conf or .asdf-search.conf or<br />similar file to control recursion of the search, and eventually<br />requiring it when a directory both has a .asd file yet requires<br />recursion?<br /><br />ASDF should do the right thing and require no configuration from<br />users, but minimal configuration of their own directory structures by<br />programmers is acceptable — except that for backward compatibility, it<br />should default to always recurse for now.<br /><br />—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics
 • <a
href="http://fare.tunes.org">http://fare.tunes.org</a><br />The problem with Unix ever becoming a widely popular desktop operating system<br />is referred to as the 'guru in the box' problem. To get and keep Unix running<br />smoothly you need a captive guru on site and there just aren't enough gurus<br />to put in the shipping boxes.<br />        — Brian Kernighan<br /><br /><hr /><br />Asdf-devel mailing list<br />Asdf-devel@common-lisp.net<br /><a href="http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel">http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel</a><br /></pre></blockquote></div><br>
-- <br>
Sent from my Android device with K-9 Mail. Please excuse my brevity.</body></html>