Subject: Re: make-pathname and :defaults From: Erik Naggum <clerik@naggum.no> Date: 1998/01/11 Newsgroups: comp.lang.lisp Message-ID: <3093469468698876@naggum.no> * Kent M Pitman | This [make-pathname] asks to take a given pathname and change specific | components at the structure level. this view does make sense and I accept that this is how things should be, but now I wonder: are there any other :defaults arguments in the language or in moderately wide use? I have not seen any. all I find in the CLHS is the "defaulted initialization argument list", of which this seems like a particularly practical form that I would have liked to be able to use in many other cases, but I don't even see how I can (easily) create my own :defaults argument that I could effectively copy from like `make-pathname' does. suggestions? | I consider the above examples "correct behavior" (although that doesn't | mean there can't be competing viewpoints :-) there is the issue of whether the competing viewpoints come from people like me who are trying very hard to find a reason to believe their personal intuitions are supported by the standard or from people whose intuitions were supposed to become the standard... so, was there any (serious) disagreement on this in X3J13 when the issue came up? if not, who cares what kind of competing viewpoints outsiders come up with? | Well, I said you can create competing viewpoints. It's not the intended | viewpoint, though it's your right to disagree since the wording is what | counts. I just screwed up with the writing here--all the worse since | this issue came up before we froze the spec and I'd tried to repair it. | I guess I missed one. Sigh. I don't think this is true (about it being the wording that counts). if I submit a request for clarification to ANSI, you get a second chance. since the time I wrote that article and solicited comments from all over the place, _nobody_ has disagreed with my analysis. it might be worth our while to get this cleaned up formally and to explain the rationale like you just did in this article through the accredited channels, too. | Nope. It is my belief that it is definitely the intention of the | committee that MAKE-PATHNAME do what you observe. I think your real | gripe is with that dummy of an editor (oops, that's me) who screwed up | the wording and made it hard to read. now you're being grossly uncharitable to yourself. don't do that. ANSI CL is an amazingly high-quality standard, and I have had to work my way through so many standards that I have earned the right to compliment you on this. that this is an editorial glitch that left room for a competing viewpoint is not itself bad: it would have been bad if you couldn't argue convincingly for your view or people could start to argue for a change of semantics in contradiction to the committee intentions. | I'll mark it for further clarification in that distant day where we do | such things. well, donning my standards committee hat, I'd have to comment that as per ANSI rules, X3.226-1994 is due for a reaffirmation vote at the end of 1999. there is nothing to bar you from publishing corrigenda or amendments at any time between such votes. however, I take it from this and other comments that there haven't been any requests for clarification addressed to X3J13 since its publication. that by itself is remarkable. speaking of corrigenda, I have a couple of bug reports to file for the application that made use of relative directories and the behavior I have argued for and which no available Common Lisp implementation agreed with so they implemented their own hacks. I'm glad I asked about this. thanks for your clear answer this time around, too, Kent. #:Erik -- The year "98" was new 1900 years ago. | Help fight MULE in GNU Emacs 20! Be year 2000 compliant, write "1998"! | http://sourcery.naggum.no/emacs/