>: sds > I, for one, am severely disappointed with the size of asdf. > To be frank, so am I. I hate it every time I add a line.
But I couldn't find any other way to make it seamlessly configurable across 13 implementations that we support over 4 families of OSes. Which is quite a few more than were fully supported before I started. I'm not even sure CLISP was supported back then, by lack of long-form define-method-combination. > Now that you told me that Fare reimplemented pathnames, I am starting to > understand why. > I conspicuously did NOT "reimplement pathnames". But I certainly did build a lot of abstractions on top of them, for the sake of portability and robustness. Just take a look at subdirectories, merge-pathnames* or truenamize. > A brief look at asdf.lisp appalled me. > And it appals me, too. You're welcome to do better. > I even tried to simplify it a little bit, e.g.: > > diff -r 0195ae274543 modules/asdf/asdf.lisp > --- a/modules/asdf/asdf.lisp Fri May 20 15:45:46 2011 -0400 > +++ b/modules/asdf/asdf.lisp Fri May 20 16:40:47 2011 -0400 > @@ -387,6 +387,8 @@ a list for each collection, in order. > \(foo \(first x\)\) > \(bar \(second x\)\)\)\) > Returns two values: \(A B C\) and \(1 2 3\)." > + #+clisp `(ext:with-collect ,collectors . ,body) > + #-clisp > (let ((vars (mapcar #'(lambda (x) (gensym (symbol-name x))) collectors)) > (initial-values (mapcar (constantly nil) collectors))) > `(let ,(mapcar #'list vars initial-values) > > but soon gave up. > You add two lines. How is that a simplification? Does it provide a big performance boost on CLISP to justify two lines of code? Or does it fix some strange corner case? That said, if you insist that it does matter, I will gladly take your word for it and apply that patch. I do welcome actual simplifications to the code. So far as I know there is no superfluous line of code in ASDF — and if you find one, I'll be glad to remove it or refactor it away. By all means, if you think you're able to support ASDF better than I do, and make it work on all the implementations that it does work — go ahead and do it! You may find, as I did, and still do to this date, that's it easier said than done. —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Don't expect coherence from a loosely-defined group of people. Even individuals have trouble with coherence. Argue issues. Change incentives. _______________________________________________ asdf-devel mailing list [email protected] http://lists.common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
