Subject: Re: [clisp-list] Re: poll: DELETE-FILE return value

From: "Hoehle, Joerg-Cyril" <[email-masked]>
Date: Wed Feb 18 04:30:01 2004

Boys,

>> Where does it say T?  From the CLHS, I see that the syntax part says
>> delete-file returns T, but in the description it says: [...true]

this looks like ultraorthodox to me. I'll suggest they intended to say true everywhere, as they do in many other places.
Or does somebody have evidence to believe that they specifically did not want an implementation to return something other than 'T on delete-file?

So my vote is: don't be overzealous, don't change the current state.

I vaguely remember Kent M Pitman's posting in cll about the array nil issue. IIRC, his opinion was that it was superfluous that people from CLISP or ACL rushed to implement it, since in his eyes and memory, it did not follow as a requirement from either the letter or the spirit of the CLHS. I may be wrong.

Is there some ANSI-CL compliance testsuite which checks (eq 'T (delete-file "FOO"))?

Gru?e,
	Jorg.

---

From: "Paul F. Dietz" <[email-masked]>
Date: Wed Feb 18 05:31:07 2004

> Is there some ANSI-CL compliance testsuite which checks (eq 'T (delete-file "FOO"))?

Yes. :)

	Paul

---

From: Marco Antoniotti <[email-masked]>
Date: Wed Feb 18 09:22:08 2004

On Wednesday, Feb 18, 2004, at 07:23 America/New_York, Hoehle, 
Joerg-Cyril wrote:

> this looks like ultraorthodox to me. I'll suggest they intended to say 
> true everywhere, as they do in many other places.
> Or does somebody have evidence to believe that they specifically did 
> not want an implementation to return something other than 'T on 
> delete-file?
>
> I vaguely remember Kent M Pitman's posting in cll about the array nil 
> issue. IIRC, his opinion was that it was superfluous that people from 
> CLISP or ACL rushed to implement it, since in his eyes and memory, it 
> did not follow as a requirement from either the letter or the spirit 
> of the CLHS. I may be wrong.
>

The issue is whether you have code (other than a an ANSI test suite) 
doing something like

(let ((r (delete-file "foo")))
    ... do something over the truename of "foo" ... )

This is not guaranteed to be conformant under, say, CMUML, AND, unlike 
sockets, multiprocessing and other things, it does fall under ANSI.

You can argue that other thing that fall under ANSI have 
less-than-optimally-specified behavior.  But in this case, the 
pragmatics DELETE-FILE simply implies that the current state of affairs 
would just create annoyances for people expecting ANSI portable code.

Cheers

Marco

--
Marco Antoniotti					http://bioinformatics.nyu.edu
NYU Courant Bioinformatics Group		tel. +1 - 212 - 998 3488
715 Broadway 10th FL				fax. +1 - 212 - 998 3484
New York, NY, 10003, U.S.A.