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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.