From: Louis Theran
Subject: Common case in pathnames
Date: 
Message-ID: <B7E8EE4E.1DA3%theran@cs.umass.edu>
Kent M. Pitman wrote:

> 
>> For example, I fail to see how having:
>> 
>>   (ed (make-pathname :name "foo" :type "lisp" :host "louis" :directory
>>         '(:absolute "louis" "EKSL" "junk")))
>> 
>> try to edit a file called
>> 
>>   /users/theran/eksl/JUNK/FOO.LISP
>> 
>> on a UNIX system is helpful.
> 
> It doesn't.  It edits
> 
>  /louis/EKSL/junk/foo.lisp
> 
> on host louis because the default :case is :local, which uses your
> components exactly as given.  If you *had* supplied common case, it
> would edit:
> 
>  /LOUIS/eksl/JUNK/FOO.LISP
> 
> because common case uses uppercase for the "natural case" and lowercase
> for the "unnatural" case.

Selective quoting is a distasteful way to argue.  For the record, the
sentence Pitman removed started after ``helpful'' above; it read:

  ``This is what we'd have if common case was the default.''

[ Pitman is also not correct about the translations for "louis:louis;**;*.*"
on my computer. ]

> If your dataflow comes froma  Common Lisp programmer who
> wants to be portable and make files in the natural case of any operating
> system

This ``natural case'' is horrible engineering.  Renaming files each time you
decide to port to another OS is a great way to defeat your source control
tools.  There is either support for both cases in a filesystem or not; since
Lisp will be interfacing to the filesystem, the quoting conventions should
not matter.  Is it really that hard to write a directory browsing tool?

For example, you describe the following convention for TOPS-20:

> Note that TOPS-20 *does* have a little-known escape convention with
> control-v allowing the next character to be quoted, so if you'd just
> used a literal string it would have come out like this on Tops-20 if
> you'd made it use the string that literally works for unix:
> 
>    <^Vl^Vo^Vu^Vi^Vs.^Ve^Vk^Vs^Vl.^Vj^Vu^Vn^Vk>^Vf^Vo^Vo.^Vl^Vi^Vs^Vp
> [tops-20]
> 
> If you'd made the string acceptable for TOPS-20, it would have been awful
> on Unix.  So  we made common case and we created the "natural/unnatural"
> distinction.  You're always welcome to use :case :local and you'll get
> exactly what you type.  I simply don't see how you can regard this as a
> problem when it only offers you flexibility.

Because other people might use it, and it's a flying circus if you don't use
the same software they do when moving between systems.  If you have an idea
of natural case that makes you happy, it's a good local modification.  As a
standard, natural case is a bankrupt concept that in practice means that
system definitions and defaults need to be tweaked again and again.

> And we did the design so that it would stand the test
> of time, no matter which way things went.

Sorry, but I disagree.  This design never made any sense, much like the
version component.[1]

In both cases, the bad parts of the design can be ignored safely, so at
least there is a standard facility for describing pathnames as structured
data, which is dramatically better than what other languages offer.
 
>> This is what we'd have if common case was the
>> default.
> 
>> Logical pathnames also hijack the string "LISP" in the type
>> component, so presumably there's no way to get the string "lisp" if the
>> implementor likes "cl" or "lsp" better and you are using common case.
> 
> Now you've switched to talking about logical pathnames, which is an utterly
> different issue.

Except that the same operators work on them, so common case is relevant.
You couldn't even tell the difference between my logical pathname example
and a physical pathname one.  Since I use logical pathnames pretty much
exclusively, I consider things like this to be pretty important.

> But this is between you and your vendor, since the vendor
> makes the decision of how to do this translation.

The implementor can't implement the standard and choose "cl" as the default
if he wants to allow users to use common case with "lisp" as the extension
for source files.  That's lossage as required by a committee, since there is
at least one Lisp programmer using common case.

> Users shouldn't assume the spec is a user document.

It is a user document.  Any user who wants to know why his implementation is
behaving in a certain way needs to see both the spec and the vendor's docs.

> A lot of the time it
> suffices as such, but that is beyond the scope of its purpose.  Criticizing
> the language on the basis of its value as a teaching document is
> extraordinarily unfair.

I just don't like the content of section 19.2.2.1.2.2.  _That_ is the source
of the disagreement, not some made-up confusion.

> I'd say that was
> pretty darned helpful.  I'm sorry that sometimes that luxury gets you into
> trouble but you have only yourself to blame for it.

You introduced the whole ``natural'' case thing.  I won't patronize you by
attempting to assign blame.

^L

[1] Quite frankly, the version component seems more a decision to cater to
VMS and Genera specifically than an attempt to create something that would
be useful regardless of which platforms became popular.  For example, if the
filesystem is clearcase, the actual version component of a pathname could be
a lot more complicated than a number.

From: Kent M Pitman
Subject: Re: Common case in pathnames
Date: 
Message-ID: <sfwwv24wd7y.fsf@world.std.com>
Louis Theran <······@cs.umass.edu> writes:

> Selective quoting is a distasteful way to argue.  For the record, the
> sentence Pitman removed started after ``helpful'' above; it read: [...]

I don't do "seletive quoting".  I post very long messages and I
eliminate the part I am not replying to in order to help reduce spam.

If your message said more than what I quoted above, I did not see it
because I stopped reading at the point I saw this unreasonable accusation
where a simple correction would have sufficed.

I have added you to my killfile to remind me not to bother to reply to
you in the future.  That is the best way I have to assure that I don't
misquote you again in the future, to include the rest of the message I
am here replying to and the other message that was pending from you at
the time I saw this.   I hope that this will be satisfactory.

Meanwhile, you have my sincere apology for having tried to address
your question at all.  I have no use for this kind of thing.
From: Louis Theran
Subject: Re: Common case in pathnames
Date: 
Message-ID: <B7E91E8D.1EA2%theran@cs.umass.edu>
On 10/9/01 20.28, in article ···············@world.std.com, "Kent M Pitman"
<······@world.std.com> wrote:

> Louis Theran <······@cs.umass.edu> writes:
> 
>> Selective quoting is a distasteful way to argue.  For the record, the
>> sentence Pitman removed started after ``helpful'' above; it read: [...]
> 
> I don't do "seletive quoting".  I post very long messages and I
> eliminate the part I am not replying to in order to help reduce spam.

Pitman may not be reading this, but he saved 54 bytes.  He spent 232 bytes
explaining why I was not correct, with said incorrectness predicated on poor
reading comprehension.  He spent 65 bytes writing out an escaped lower case
file name in TOPS-20 notation.

This is a weak engineering argument.
 
> If your message said more than what I quoted above, I did not see it
> because I stopped reading at the point I saw this unreasonable accusation
> where a simple correction would have sufficed.

Pitman has clearly placed himself above the normal conventions of discourse.

> I have added you to my killfile to remind me not to bother to reply to
> you in the future.  That is the best way I have to assure that I don't
> misquote you again in the future, to include the rest of the message I
> am here replying to and the other message that was pending from you at
> the time I saw this.   I hope that this will be satisfactory.

To paraphrase one of my favorite patronizing jerks:  Pitman has only himself
to blame for looking so silly.  If he'd finished reading the paragraph
before chopping and writing, he wouldn't have blundered his way into the
appearance of selective quoting.
 
> Meanwhile, you have my sincere apology for having tried to address
> your question at all.  I have no use for this kind of thing.

The feeling is entirely mutual.

^L
From: Coby Beck
Subject: Re: Common case in pathnames
Date: 
Message-ID: <KBPw7.326356$8c3.59337666@typhoon.tampabay.rr.com>
"Louis Theran" <······@cs.umass.edu> wrote in message
·························@cs.umass.edu...
> On 10/9/01 20.28, in article ···············@world.std.com, "Kent M Pitman"
> <······@world.std.com> wrote:
>
> > Louis Theran <······@cs.umass.edu> writes:
> >
> >> Selective quoting is a distasteful way to argue.  For the record, the
> >> sentence Pitman removed started after ``helpful'' above; it read: [...]
> >
> > I don't do "seletive quoting".  I post very long messages and I
> > eliminate the part I am not replying to in order to help reduce spam.
>
> Pitman may not be reading this, but he saved 54 bytes.  He spent 232 bytes
> explaining why I was not correct, with said incorrectness predicated on poor
> reading comprehension.  He spent 65 bytes writing out an escaped lower case
> file name in TOPS-20 notation.
>
> This is a weak engineering argument.
>

Kent Pitman is as reasonable as he is knowledgable and your accusation was very
uncalled for.  I quite enjoyed his response as an example of how to gracefully
exit a degenerating discussion.  Though I must say I'm not usually that quick
to killfile someone, electronically or mentally.  You did do him an injustice.

> > If your message said more than what I quoted above, I did not see it
> > because I stopped reading at the point I saw this unreasonable accusation
> > where a simple correction would have sufficed.
>
> Pitman has clearly placed himself above the normal conventions of discourse.
>

I think this perception is more in your own mind than reality.

> To paraphrase one of my favorite patronizing jerks:  Pitman has only himself
> to blame for looking so silly.  If he'd finished reading the paragraph
> before chopping and writing, he wouldn't have blundered his way into the
> appearance of selective quoting.
>

This too.

It's unclear to me if you are calling Kent a jerk there or not, it would
certainly not be appropriate or warranted.  He really contributes alot here and
even at his most opinionated moments stays civil and fair.

Coby
--
(remove #\space "coby . beck @ opentechgroup . com")
From: Lieven Marchand
Subject: Re: Common case in pathnames
Date: 
Message-ID: <m37ku35ted.fsf@localhost.localdomain>
Louis Theran <······@cs.umass.edu> writes:

> Pitman has clearly placed himself above the normal conventions of discourse.

Kent is one of the most courteous posters on this group and besides
being knowledgeable usually goes to great lengths to help people. His
efforts certainly don't warrant this kind of behaviour.

-- 
Lieven Marchand <···@wyrd.be>
She says, "Honey, you're a Bastard of great proportion."
He says, "Darling, I plead guilty to that sin."
Cowboy Junkies -- A few simple words