Re: Naive DEFSYSTEM replacement
"Adam Weaver (as adam at cleversure dot com dot au)" <[email protected]>
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 2025-07-28 at 09:25 -0500, Robert Goldman wrote: > > On 27 Jul 2025, at 20:27, Adam Weaver wrote: > > I still don't really get UIOP though. Sure, there are > > inconsistencies > > between implementations (vagaries in the standard?) but Peter > > Seibel > > wrote a 100-odd-line shim FAD for his textbook to paper over the > > PATHNAME differences. > > I don't mean to disparage Peter, but CL-FAD is much less ambitious, > and really is not fit for purpose. Consider, for example: > (defun directory-pathname-p (pathspec) [ snip short example which doesn't apparently work ] > Note that this simply looks at the syntactic form of the pathname. > Note also that (as far as I can tell!) there is no part of the spec > to tell us what the form of a directory pathname should be. Peter > has to assume that it is something that has NIL or :unspecific in its > name and type properties. There is no obligation for a lisp > implementation to abide by Peter's intuitions. Ok. I get that. But it's easy to go too far with this, if an implementation is so fracked-up that it puts :SNOZZBERRY in not- required PATHNAME slots, is *anything* that goes wrong really ASDF's problem to hack around? > Now compare this with what Fare did to make a reliable, portable > version of probe-file that returns the absolute pathname of a file: > + (defun probe-file* (p &key truename) [ snip heroically long example which *does* apparently work ] > > If you want to have a portable system definition facility like ASDF, > you simply can't do without this kind of thing. It would be lovely > if we could get the implementation maintainers to agree on a more > robust portable approach to accessing the filesystem and build it > themselves, but that is not the world we live in. Ah, thank you. > To be honest, I can't imagine anyone but Fare who would have had the > patience and determination to do all this and get it right. Yes it's a rare breed! I would've cracked it at the fourth inconsistency, not worked my way through all of the major implementations. Thanks RG, that's brilliant. See I had no doubt that all the stuff in ASDF was there for a **reason**, and you've just elucidated brilliantly what that reason is. Much much better than faux-bravado from the peanut gallery with guesses and insults :) Verity Stob (English tech comedy writer) had it right when she said that "Common Lisp is famous for its use of parentheses and condescension" :) Thanks RG. Don't lose heart in ASDF (your comment in a sibling thread). It is an important part of the CL ecosystem, and I for one appreciate your and Fare's heroic efforts. A. _______________________________________________ Lisp Hug - the mailing list for LispWorks users [email protected] http://www.lispworks.com/support/lisp-hug.html