Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
logical pathnames - lack of info?
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 51 - 75 of 81 - Collapse all  -  Translate all to Translated (View all originals) < Older  Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Dr. Edmund Weitz  
View profile  
 More options Feb 22 2002, 5:52 pm
Newsgroups: comp.lang.lisp
From: e...@agharta.de (Dr. Edmund Weitz)
Date: 22 Feb 2002 23:51:49 +0100
Local: Fri, Feb 22 2002 5:51 pm
Subject: Re: logical pathnames - lack of info?
Kent M Pitman <pit...@world.std.com> writes:

[detailed discussion of my examples deleted for brevity]

First of all thanks for taking the time for such a detailed answer. I
get the feeling that this thread might finally push me into the right
direction to understand pathnames. I hope it's the same with others
who also expressed their problems with this concept.

I'll try to keep the ball rolling by reading the rest of the CLtL2
chapter tonight and by trying out more examples and asking more
questions here.

> The thing the creators of the standard made of it was that if the
> community ever cared enough, it could make layered standards. Then
> vendors who wanted to could adhere to such standards, and vendors
> who didn't could ignore them.

Just out of curiosity: Did such layered standards ever happen? I
suppose the answer is no. At least I've never heard of one since I
started reading c.l.l.

> > Assume I'm writing an application with ACL for Windows but I want
> > it to be portable to LispWorks and CormanLisp as
> > well. Furthermore, I might want to target the Linux market with
> > the same application later on. It looks like I have to resort to
> > namestrings (which is as unportable as it could be) if I want to
> > specify the exact location of a file in the filesystem.

> This is a HUGE leap from what you said above.  Why would you say
> that??

> I don't agree at all with this conclusion.

Hmm, maybe I was to rash with my conclusion. I should add here that I
don't have a specific application in mind. If I had to use file system
functions in the past, I just used namestrings because I wrote those
apps for learning the language and didn't care about portability. My
asking things about pathnames now is also just based upon my desire to
learn what they're for. Currently, I'm just toying around with them
and ask questions while a month ago I would have just eschwed them
completely 'cause I thought I would never get it.

> I'm not going to make up examples here without a framework of a real
> program.  It is definitely not the case that one can just work from
> pathnames to an arbitrary algebra of ideas that works for all
> operating systems everywhere.  There are too many rough edges.  But
> most of the common cases do work quite predictably, and I don't
> understand why you would think otherwise.  I need examples of what
> you are saying doesn't work.

No, I wasn't intending to say that something doesn't work. To the
contrary, I was looking for examples how pathnames may work because I
couldn't imagine them myself.

Now let my try a simple example: Suppose I've written an application
that magically creates HTML pages from PDF files that look exactly
like the original document on all browsers. The program would ask the
user to specify the location of the PDF file and would create an HTML
file in the same location with a different suffix (or probably create
a subdirectory with a name derived from the name of the PDF file and
store the HTML file there). It is also likely that the application
will have to create some GIF or JPEG files and store them
somewhere. Now I probably would write it such that the user's input is
of course a namestring in the native language of his file system. I
could then convert this namestring to a pathname and manipulate its
type component (which is obviously more general a concept than
'suffix') to be "HTML" instead of "PDF" to generate a pathname for the
resulting HTML document. I could also append the name component of the
pathname to its directory component to create a directory next to the
PDF document to hold the HTML file and the pictures belonging to it.

Now that I think of it this really sounds more portable and elegant
than fiddling with the namestrings themselves. Also, if someone
invents a wonderful new operating system tomorrow I'll 'just' have to
wait for a matching CL implementation and chances are good that my
application will work fine although I didn't even know the new file
system when I wrote it. Hmm, sounds good... :)

Is that the way pathnames are intended to be used?

(I still can't imagine what I would do with the device and host
components but this is obviously due to my limited knowledge of file
systems that aren't derived from Unix. See below.)

If you understood my paragraph above as promoting "modern" concepts
versus proven solutions like CL this must be due to my not being a
native speaker. I _do_ value solutions which try to be timeless and I
hate to see them losing against marketing hype almost always. To give
an example: When doing photography, I always use _very_ old Leica
rangefinder cameras, Kodak b/w films from the fifties and good old
French baryt paper. I cannot understand why people prefer all those
pesky "modern" cameras and materials, especially the digital ones. But
this is a personal luxury, and I'm doing this as my hobby, while
programming is my means of feeding my family. I'd love to know more
about Lisp Machines and other things that I never came across. But my
spare time is limited and I guess I'll have to cope with Unix, Mac,
Windows for the next couple of years... :(

Thanks again for your time. I'll be back with more questions in the
next days.

Edi.

--

Dr. Edmund Weitz
Hamburg
Germany

The Common Lisp Cookbook
<http://cl-cookbook.sourceforge.net/>


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gareth McCaughan  
View profile  
 More options Feb 22 2002, 5:53 pm
Newsgroups: comp.lang.lisp
From: Gareth.McCaug...@pobox.com (Gareth McCaughan)
Date: Fri, 22 Feb 2002 22:50:00 +0000
Subject: Re: logical pathnames - lack of info?

Kenny Tilton wrote:

[Kent Pitman:]

> > have once said about thesis writing:  If I'd had more time, I would have
> > written less.

[Kenny:]

> Great line, one of my favorites. I feel the same way about code. But it
> was Samuel Clemens, wrapping up a letter to a friend I think.

I'm fairly sure it was Pascal. But yes, it was at the end of a letter.

--
Gareth McCaughan  Gareth.McCaug...@pobox.com
.sig under construc


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dr. Edmund Weitz  
View profile  
 More options Feb 22 2002, 5:54 pm
Newsgroups: comp.lang.lisp
From: e...@agharta.de (Dr. Edmund Weitz)
Date: 22 Feb 2002 23:54:15 +0100
Local: Fri, Feb 22 2002 5:54 pm
Subject: Re: logical pathnames - lack of info?

Tim Bradshaw <t...@cley.com> writes:
> Well one thing you missed is that Windows has at least one other
> type of pathname, namely UNC (?) paths - the things that looks like
> \\host\share\path...\file.type.  Any system that runs on Windows
> needs to cope with these things as well as normal physical paths, I
> think.

You're right, I forgot about it. It shows that I don't use Windows
that often I guess.

Edi.

--

Dr. Edmund Weitz
Hamburg
Germany

The Common Lisp Cookbook
<http://cl-cookbook.sourceforge.net/>


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kent M Pitman  
View profile  
 More options Feb 22 2002, 5:59 pm
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: Fri, 22 Feb 2002 22:59:06 GMT
Local: Fri, Feb 22 2002 5:59 pm
Subject: Re: logical pathnames - lack of info?

This part is definitely on target.

ANSI warned us in the very first X3J13 meeting not to ever interpret
the standard.  This is why I am much more prone publicly to say that
off the wall interpretations are possible than I am to say that off
the wall interpretations are out to lunch.  If reasonable people read
the standard oddly, that's a weakness of the standard, not a fault of
those reasonable people.  And I define "reasonable people" less by the
outcome they achieve (as might seem the intuitive way of doing it) and
more by their "stake".  That is, anyone who has built an implementation
or a large system in CL is, by my definition, entitled to be a reasonable
person.  They have a stake in the game and no reason to be undermining the
community.  Their time and monetary investment in the language is sufficient
to me to say their position must be taken seriously.  Occasionally, people
who've done little more than open the spec to a random page and get
confused complain of something and I sometimes go out on a limb and suggest
they need further reading....

>   I would not want to be Kent Pitman if ANSI got pissed at
>   him for publishing such _official_ commentaries outside of the process
>   that created the standard, basically because it would open up for
>   lawsuits against ANSI for failure to follow proper procedures to ensure
>   that no particular vendor was unduly favored in its creation.

This part is also right, but the underscoring of "official" is so
subtle it might not have sunk in.  Let me expand: It is possible for
me or anyone to create unofficial remarks that are our personal
opinions about what we wish.  We simply must not say "the standard
says...".  We can say "I wish the standard had said..." or "I suggest
the following style as a way of filling in gaps in the standard..."

I will at some point do some style advice as part of my emerging books.
Style guides are no problem legally.  Everyone does them.

But really it requires the community as a whole to build consensus on what
it wants, and the best start on that is experience by users of deployed
vendor interpretations.  I don't think any single person can simply declare
one user base right and one user base wrong.  If, on the other hand, one
user base is always dissatisfied and another is not, the dissatisfied group
might want to hammer on their vendor to be more like the vendor who's
supplying their happier pals.

> | Writing a book these days isn't big bussines but I think that given your
> | big experience in lisp and your kwnodledge of the spec, a book by you
> | would be an inmense help to the lisp community.  It would help users and
> | implementors to agree in the dark corners of the spec.

>   If it did, it would be a dangerous document.

Well, I think the danger is all a function of presentation, but it's surely
true that a legally and socially safe presentation might lose some of the
definitiveness that is perhaps being suggested here.

> | Maybe this book wont be such a bad bussines. I guarrantee you that I'll
> | buy a copy (and I'm sure that more of 50% of c.l.l will do too :)

>   I would buy one, too, just as I bought The SGML Handbook by Charles
>   Goldfarb when ISO 8879 turned out to be fairly unreadable by itself, but
>   that was before I had legal training and worked with lots of lawyers.

Heh.

>   A standard is _specifically_ relinquished from anyone's personal control
>   and left to the community of people that adopted it by its representative
>   and proxies.  To re-acquire personal control over it would diminish the
>   value of the whole standardization process, just as if a politician who
>   had helped push a particular law instructed the courts to interpret it a
>   particular way.  (Perhaps you have be really _deeply_ into politics and
>   law to see why this is fantastically bad karma, but trust me: it is.)

Not lost on me.

I am constantly reminding people of this and I get people poking fun
at me about false humility when I say "I'm just another opinion" but
it is this legal aspect, not any issue of humility (false or
otherwise), that causes me to continue to mention it.  My credential
as Project Editor merely entitles me to say "I was a historically
close observer and am more than likely relaying firsthand information,
if I am neither misremembering or misstating or just lying, any of
which is in principle possible if you don't know enough about me to
believe otherwise."  As a firsthand observer, I am certainly privvy to
some knowledge about things that were said in conjunction to the
standard's creation, but I am no moreso than any other participant who
was alwys there.  And has been observed about witnesses to crimes,
memory is not black&white, and people can reasonably disagree on
things they saw with their own eyes.

Further, when we voted to approve, "I observed that" and "I recall
that" we said over and over explicitly to everyone: Once we vote yes,
it will erase all the cleanup writeups.  Truth will from then on be
judged not by what we intended, but what we wrote (and more to the
point: what I typed, whether or not I transcribed or edited
accurately) and that people had better be darn sure that they were
willing to stand not just by all the little votes leading up but by
the actual words we wrote... This goes back to the discussion of Sir
Thomas More I made in another thread yesterday, on the philosophy of
the meaning of words and language.  But I won't repeat myself on that
so soon; dredge it up in DejaNews (a.k.a groups.google.com) if you
care.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Eduardo Muñoz  
View profile  
 More options Feb 22 2002, 6:35 pm
Newsgroups: comp.lang.lisp
From: "Eduardo Muñoz" <e...@jet.es>
Date: 23 Feb 2002 00:40:14 +0100
Local: Fri, Feb 22 2002 6:40 pm
Subject: Re: logical pathnames - lack of info?

Tim Bradshaw <t...@cley.com> writes:
> * Eduardo Muñoz wrote:
> > Writing a book these days isn't big bussines but
[...]
> While I'd love to see a book by KMP, I don't see what has got
> basically easier about writing a book since the invention of good text
> editors.  *Publishing* may be easier (especially if you don't want to
> get paid much/at all) but you still have to write hundreds of pages of
> high-quality text, which is the main barrier...

I was talking about money, not about easyness  :)

If KMP writes such book he deserves a medium-big
pile of cash, but maybe he wont get it.

--

Eduardo Muñoz


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kent M Pitman  
View profile  
 More options Feb 22 2002, 6:38 pm
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: Fri, 22 Feb 2002 23:36:43 GMT
Local: Fri, Feb 22 2002 6:36 pm
Subject: Re: logical pathnames - lack of info?
e...@agharta.de (Dr. Edmund Weitz) writes:

> Kent M Pitman <pit...@world.std.com> writes:
> > The thing the creators of the standard made of it was that if the
> > community ever cared enough, it could make layered standards. Then
> > vendors who wanted to could adhere to such standards, and vendors
> > who didn't could ignore them.

> Just out of curiosity: Did such layered standards ever happen? I
> suppose the answer is no. At least I've never heard of one since I
> started reading c.l.l.

No. They tried to happen, but no one wanted them.

When I say "no one wanted them", I don't mean it in the casual sense that
someone here, for no cost, can stand up and say "I did".  I mean in the
more formal sense of "It would cost a lot, and when push came to shove, an
insufficient amount of money and energy was not rendered to create the
necessary processes".  Perhaps that will change.  But I honestly doubt the
need.  That's not to say it's impossible.  I'm just saying that the present
situation is just not so intolerable that it's worth the dollar trade of
spending money on "really" fixing the problems instead of spending money on
merely working around the problems.  They're not that hard to work around,
and people have more important things to do.  Perhaps a patron will come
along and fix things some day, but it is no small expense to get real
community consensus and it is quite a small expense to learn how to use
these facilities judiciously and how to use #+/#- in the few places they
fall down.

> Now let my try a simple example: Suppose I've written an application
> that magically creates HTML pages from PDF files that look exactly
> like the original document on all browsers. The program would ask the
> user to specify the location of the PDF file

As a string.  End-users don't care about Lisp datatypes.  

> and would create an HTML file
> in the same location with a different suffix (or probably create
> a subdirectory with a name derived from the name of the PDF file and
> store the HTML file there).

Right.  This is where you use structured tools for merging so you don't
screw up the merging by ad hoc string operations of your own

 (make-pathname :type "HTML" :case :common :defaults what-user-typed)

> It is also likely that the application
> will have to create some GIF or JPEG files and store them
> somewhere. Now I probably would write it such that the user's input is
> of course a namestring in the native language of his file system.

Right.

> I could then convert this namestring to a pathname

This will be done implicitly by pathname operations.  For efficiency, it's
sometimes useful to do it early to keep it from being done over and over.
But it's not much an issue.  You can just carry it around as a string and
still do all the pathname operations on it.

> and manipulate its
> type component (which is obviously more general a concept than
> 'suffix') to be "HTML" instead of "PDF" to generate a pathname for the
> resulting HTML document.

Again done by MAKE-PATHNAME or MERGE-PATHNAMES.

> I could also append the name component of the
> pathname to its directory component to create a directory next to the
> PDF document to hold the HTML file and the pictures belonging to it.

Don't do this as a string.  And pathnames have no notion of "appending".
You mean you could do MAKE-PATHNAME (with :defaults) or MERGE-PATHAMES.

> Now that I think of it this really sounds more portable and elegant
> than fiddling with the namestrings themselves.

Yes.

> Also, if someone
> invents a wonderful new operating system tomorrow I'll 'just' have to
> wait for a matching CL implementation and chances are good that my
> application will work fine although I didn't even know the new file
> system when I wrote it. Hmm, sounds good... :)

Yes.

> Is that the way pathnames are intended to be used?

Yes.

> (I still can't imagine what I would do with the device and host
> components but this is obviously due to my limited knowledge of file
> systems that aren't derived from Unix. See below.)

On Tops-20, a "device" was a kind of component.  They were like C: and
D: on MS-DOS and I prefer to think of those as "devices".  So if you
do, in Tops-20, "PS:<FOO.BAR.BAZ>FILE.LISP.13" you mean "device PS"
(kinda like "C:" since PS meant "primary structure"), directory
(:ABSOLUTE "FOO" "BAR" "BAZ"), name "FILE", type "LISP", version 13.
Note that "SS:<FOO.BAR.BAZ>" or "SECOND:<FOO.BAR.BAZ>" were often
unrelated directories.  And also that it could be that device: was not
just a primitive file structure but a search list (kind of like $PATH)
so that it would find the first of several structures.  This is all
trivia about Tops-20 I'm telling you.  It had nothing to do with CL.
But CL's pathname system accomodates this.  OZ:PS:<KMP>LISP.INI might
have been my init file on the primary file system of the host OZ, as
referred to by the Lisp Machine with its "host colon" convention that the
first colon was the host and the remaining colons were host specific.

The whole point of the component-wise pathname setup is to let you
ignore components not relevant to your file system and to assume they
can either be passed straight through or allowed to default.  If we
had not done it this way, you would have to have code in your personal
code to accomodate devices.

For most merging, I mostly just pass devices through "just in case",
though typically them when the host is changing.... What is on C: on
one file system might be on D: on another.  It might matter that you get
the device right, but it won't be done "better" by assuming it's the
same on all systems... It really has to be supplied where it matters.

Certainly when making a file FOO.LISP from another, you should do:

 (make-pathname :name "FOO" :type "LISP" :version nil
                :host      (pathname-host      pathname1 :case :common)
                :device    (pathname-device    pathname1 :case :common)
                :directory (pathname-directory pathname1 :case :common)
                :case :common)

or

 (make-pathname :name "FOO" :type "LISP" :version nil
                :defaults pathname1 :case :common)

A good rule of thumb, I claim, is to always use :case :common.
I can't stand that it is not the default, but since it is, you must
always make it explicit.  And don't get lazy about using it on the
accessors, or you will compose stupid-looking filenames.  The algebra
decomposing and recomposing filenames only comes out right if you
consistently use :case :common everywhere.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Julian Stecklina  
View profile  
 More options Feb 22 2002, 7:04 pm
Newsgroups: comp.lang.lisp
From: Julian Stecklina <der_jul...@web.de>
Date: 23 Feb 2002 01:00:23 +0100
Local: Fri, Feb 22 2002 7:00 pm
Subject: Re: logical pathnames - lack of info?
Kent M Pitman <pit...@world.std.com> writes:

[...]

> Well, there are two issues here.  Yes, the case-insensitivity keeps you
> from making two files that differ only in case.  That's an intentional
> design feature.  But there's a stupid irritating trick in Unix that one
> puts something in uppercase to force it to list in a directory at the head
> because Unix thinks that the letter ordering is A...Za...z rather than
> AaBbCc... This is, unfortunately, an issue of exploiting case.  A conseuence
> is that one cannot make a system delivered in logical pathnames that puts
> a README.txt file at the head of a directory.  You will get a readme.txt
> file lost in the middle of the other files.  To do the "non-standard case"
> trick, you must use real pathnames.

What's the whole point about case-sensitivity in file systems anyway?
Isn't it plain stupid to allow readme.txt and Readme.txt to coexist?
Why do I have to remember/find out/etc the case of a filename to use
it? This seems error prone to me. The same applies to case-sensitivity
in other areas (just think of certain programming languages... btw:
Can you still disable it with Borland C++ compilers?)

Regards,
Julian

--
Um meinen oeffentlichen Schluessel zu erhalten:
To get my public key:
http://math-www.uni-paderborn.de/pgp/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kent M Pitman  
View profile  
 More options Feb 22 2002, 8:13 pm
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: Sat, 23 Feb 2002 01:12:13 GMT
Local: Fri, Feb 22 2002 8:12 pm
Subject: Re: logical pathnames - lack of info?

Julian Stecklina <der_jul...@web.de> writes:
> ...
> What's the whole point about case-sensitivity in file systems anyway?
> Isn't it plain stupid to allow readme.txt and Readme.txt to coexist?
> Why do I have to remember/find out/etc the case of a filename to use
> it? This seems error prone to me. The same applies to case-sensitivity
> in other areas (just think of certain programming languages... btw:
> Can you still disable it with Borland C++ compilers?)

We have sometimes discussed whether the mere name Lisp holds Lisp back.
People think they know it from what it was years ago.

I once half-jokingly suggested we call Lisp "c".  (Note, not "C".  It
would be kinda funny if, in order to go after us legally for some kind
of trademark infringement and/or fraud, the "C" community had to admit
that case sensitivity wasn't really a good way of keeping name
collisions from happening....)

The only place I've seen case-sensitivity usefully used is in situations
like &ntilde; vs &Ntilde; in XML, where you want either n + ~ or
N + ~ depending on what case you've used.  That is, only when actually
trying to talk about the alphabet itself, which presumably really does want
case sensitivity at some level or wouldn't have upper and lower case at all.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Feb 22 2002, 8:41 pm
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Sat, 23 Feb 2002 01:41:21 GMT
Local: Fri, Feb 22 2002 8:41 pm
Subject: Re: logical pathnames - lack of info?
* Kent M Pitman
| We have sometimes discussed whether the mere name Lisp holds Lisp back.
| People think they know it from what it was years ago.

  When I decided to design a real markup language in the spirit of Common
  Lisp, I called it NML (for New/Naggum/whatever Markup Language),
  prnounced "enamel", and joked that the Common Lisp with <> instead of ()
  would be XCL, X for the hackneyed "extensible".  I wanted the Common Lisp
  reader to be told how to parse elements according to the first symbol in
  a list.  Like, <strong x> should read as a NML element of type strong
  with the string "x" as the contents.  Now, you would have to declare any
  symbols that would be read this way.  The default would be parse the
  contents as XCL, but then it dawned on me that this could be read as XCl,
  and considering that simple chlorides are also called "salts", figured
  that it would be "salt contents".

  There are lots of interesting things to say about "salt" as a name for a
  language.  The Next ANSI Common Lisp would be the Common Salt, NaCl.
  "Salt" is the etymological base for "salary", emphasizing the commercial
  value of the langauge, and its ancient value is found in expressions like
  "worth his salt", emphasizing a high standard of value, etc.

| I once half-jokingly suggested we call Lisp "c".  (Note, not "C".  It
| would be kinda funny if, in order to go after us legally for some kind of
| trademark infringement and/or fraud, the "C" community had to admit that
| case sensitivity wasn't really a good way of keeping name collisions from
| happening....)

  Devious...  :)

| The only place I've seen case-sensitivity usefully used is in situations
| like &ntilde; vs &Ntilde; in XML, where you want either n + ~ or N + ~
| depending on what case you've used.  That is, only when actually trying
| to talk about the alphabet itself, which presumably really does want case
| sensitivity at some level or wouldn't have upper and lower case at all.

  Chemical formulae tend to need case to distinguish between the elements.
  A symbol that held the name of symbols could of course be printed with
  the capitalize notation, and individually be unique, anyway...

///
--
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Stefan Schmiedl  
View profile  
 More options Feb 23 2002, 1:53 am
Newsgroups: comp.lang.lisp
From: s...@xss.de (Stefan Schmiedl)
Date: 23 Feb 2002 06:53:42 GMT
Local: Sat, Feb 23 2002 1:53 am
Subject: Re: logical pathnames - lack of info?
On Fri, 22 Feb 2002 23:36:43 GMT,
Kent M Pitman <pit...@world.std.com> wrote:

hmm.... would it be possible to use pathnames for database access?
the device would be the database engine, top level "directories"
databases, second level "directories" tables and views, and third level
entries would be records accessible by some primary key.

would this be possible?
would this be efficient?
how do you write your "own" glue code between the pathname frontend
and low level backend?

s.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tim Bradshaw  
View profile  
 More options Feb 23 2002, 8:34 am
Newsgroups: comp.lang.lisp
From: Tim Bradshaw <t...@cley.com>
Date: 23 Feb 2002 12:39:49 +0000
Local: Sat, Feb 23 2002 7:39 am
Subject: Re: logical pathnames - lack of info?

* Eduardo Muñoz wrote:
> I was talking about money, not about easyness  :)

Oops, sorry my mistake. Your phrasing now makes a lot more sense to
me!

--tim


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Pierre R. Mai  
View profile  
 More options Feb 23 2002, 3:38 pm
Newsgroups: comp.lang.lisp
From: "Pierre R. Mai" <p...@acm.org>
Date: 23 Feb 2002 20:42:14 +0100
Local: Sat, Feb 23 2002 2:42 pm
Subject: Re: logical pathnames - lack of info?

Actually, last time I looked, there were many applications that didn't
anticipate such pathnames, and hence didn't work, or didn't work
correctly with those.  In those cases you need to make use of the OS's
capability to map such pathnames to "drive letters", which can then be
used by the application at hand.

Regs, Pierre.

--
Pierre R. Mai <p...@acm.org>                    http://www.pmsf.de/pmai/
 The most likely way for the world to be destroyed, most experts agree,
 is by accident. That's where we come in; we're computer professionals.
 We cause accidents.                           -- Nathaniel Borenstein


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gene Michael Stover  
View profile  
 More options Feb 23 2002, 3:57 pm
Newsgroups: comp.lang.lisp
From: Gene Michael Stover <gstov...@gte.net>
Date: Sat, 23 Feb 2002 20:57:26 GMT
Local: Sat, Feb 23 2002 3:57 pm
Subject: Re: logical pathnames - lack of info?

Julian Stecklina wrote:
> I searched ANSI Common Lisp and On Lisp by Paul Graham, but both seem
> to ignore the topic of logical pathnames or pathnames in general. The
> Hyperspec is a little vague about that topic and I could not find some
> kind of tutorials. CLiki and the Cookbook do not provide any
> information either.

> Can anybody help?

For what it's worth, I'm expecting a beginner's level
article about logical pathnames for the first issue of Yadda
Lambda magazine (which I announced in another thread here
last night.)  That won't be until April, though.

gene


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tim Bradshaw  
View profile  
 More options Feb 23 2002, 4:48 pm
Newsgroups: comp.lang.lisp
From: Tim Bradshaw <t...@cley.com>
Date: 23 Feb 2002 21:38:46 +0000
Local: Sat, Feb 23 2002 4:38 pm
Subject: Re: logical pathnames - lack of info?
* Pierre R Mai wrote:

> Actually, last time I looked, there were many applications that didn't
> anticipate such pathnames, and hence didn't work, or didn't work
> correctly with those.  In those cases you need to make use of the OS's
> capability to map such pathnames to "drive letters", which can then be
> used by the application at hand.

Fortunately the lisp system  I use isn't one (:-).

Incidentally, here's a story about pathnames.  Our system runs on
Windows and *nix (currently Linux).  It does a fair amount of stuff to
do with fetching things from remote servers which it currently does
with rsync (it could use other mechanisms but rsync is the only
implemented one).  On windows it uses the cygwin rsync (it needs other
bits of cygwin, like gcc, anyway).

The largest, most unpleasent and least portable bit of
platform-dependence is because of rsync.  If you are mirroring from a
local filesystem on Windows you typically want to say

        rsync c:/... d:/....

But rsync *knows* deep in its little black heart that this means `the
host named c'.  So what you have to do is realise that cygwin always
maps c: to /cygdrive/c (I think this is right) and rewrite pathnames
appropriately.

--tim


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dorai Sitaram  
View profile  
 More options Feb 23 2002, 7:30 pm
Newsgroups: comp.lang.lisp
From: d...@goldshoe.gte.com (Dorai Sitaram)
Date: 24 Feb 2002 00:30:27 GMT
Local: Sat, Feb 23 2002 7:30 pm
Subject: Re: logical pathnames - lack of info?
In article <3223417284936...@naggum.net>, Erik Naggum  <e...@naggum.net> wrote:

>  The default would be parse the
>  contents as XCL, but then it dawned on me that this could be read as XCl,
>  and considering that simple chlorides are also called "salts", figured
>  that it would be "salt contents".

>  There are lots of interesting things to say about "salt" as a name for a
>  language.  The Next ANSI Common Lisp would be the Common Salt, NaCl.
>  "Salt" is the etymological base for "salary", emphasizing the commercial
>  value of the langauge, and its ancient value is found in expressions like
>  "worth his salt", emphasizing a high standard of value, etc.

... and allowing Scheme to position itself as a
healthy, "low-sodium" Lisp.

--d


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Feb 24 2002, 1:51 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Sun, 24 Feb 2002 06:51:50 GMT
Local: Sun, Feb 24 2002 1:51 am
Subject: Re: logical pathnames - lack of info?
* Dorai Sitaram
| ... and allowing Scheme to position itself as a healthy, "low-sodium"
| Lisp.

  NaCl is the chemical formula for pure, clean salt, with no additives,
  nothing.  There is nothing to remove from it, so Scheme would not apply.

///
--
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gareth McCaughan  
View profile  
 More options Feb 24 2002, 12:53 pm
Newsgroups: comp.lang.lisp
From: Gareth.McCaug...@pobox.com (Gareth McCaughan)
Date: Sun, 24 Feb 2002 17:08:49 +0000
Local: Sun, Feb 24 2002 12:08 pm
Subject: Re: logical pathnames - lack of info?

Dorai Sitaram wrote:
> In article <3223417284936...@naggum.net>, Erik Naggum  <e...@naggum.net> wrote:
> >  The default would be parse the
> >  contents as XCL, but then it dawned on me that this could be read as XCl,
> >  and considering that simple chlorides are also called "salts", figured
> >  that it would be "salt contents".

> >  There are lots of interesting things to say about "salt" as a name for a
> >  language.  The Next ANSI Common Lisp would be the Common Salt, NaCl.
> >  "Salt" is the etymological base for "salary", emphasizing the commercial
> >  value of the langauge, and its ancient value is found in expressions like
> >  "worth his salt", emphasizing a high standard of value, etc.

> ... and allowing Scheme to position itself as a
> healthy, "low-sodium" Lisp.

No, clearly the low-sodium one would be KCL. Er, I mean
KCl.

--
Gareth McCaughan  Gareth.McCaug...@pobox.com
.sig under construc


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Simmons  
View profile  
 More options Feb 25 2002, 11:10 am
Newsgroups: comp.lang.lisp
From: "Martin Simmons" <zne...@xanalys.com>
Date: Mon, 25 Feb 2002 16:10:23 -0000
Local: Mon, Feb 25 2002 11:10 am
Subject: Re: logical pathnames - lack of info?
"Kent M Pitman" <pit...@world.std.com> wrote in message
news:sfw3czttegv.fsf@shell01.TheWorld.com...

> IMO, no one should ever assume that (:ABSOLUTE) exists on a logical pathname.
> "BAZ.LISP" has an unsupplied directory and needs one.

Do you think this was a deliberate restriction of logical pathnames namestrings
or just an oversight?  Should pathnames such as

(make-pathname :host "SYS" :directory '(:absolute) :name "FOO")

be printable?

> Ick.  I wouldn't want you to.  You risk having someone think the pathname
> is filled.  Consider that

>  (make-pathname :host myloghost :directory '(:relative) :defaults foo)

> will not merge the directory from FOO.  Only

>  (make-pathname :host myloghost :directory nil :defaults foo)

> will grab the dir.

Actually, I don't think nil will grab the dir from foo either -- only omitting
:directory will do that.
--
Martin Simmons, Xanalys Software Tools
zne...@xanalys.com
rot13 to reply

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kent M Pitman  
View profile  
 More options Feb 25 2002, 1:09 pm
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: Mon, 25 Feb 2002 18:07:13 GMT
Local: Mon, Feb 25 2002 1:07 pm
Subject: Re: logical pathnames - lack of info?

"Martin Simmons" <zne...@xanalys.com> writes:
> "Kent M Pitman" <pit...@world.std.com> wrote in message
> news:sfw3czttegv.fsf@shell01.TheWorld.com...

> > IMO, no one should ever assume that (:ABSOLUTE) exists on a
> > logical pathname.  "BAZ.LISP" has an unsupplied directory and
> > needs one.

> Do you think this was a deliberate restriction of logical pathnames
> namestrings or just an oversight?  Should pathnames such as

> (make-pathname :host "SYS" :directory '(:absolute) :name "FOO")

> be printable?

Well, as discussed ad nauseum, I don't make the rules.  But personally, I
don't think it has a printed representation.  Whether that means an error
should be signaled or a system-specific heuristic like
  SYS:ROOT-DIRECTORY;FOO
should be printed is a little less clear.  I do think there is a problem.

> > Ick.  I wouldn't want you to.  You risk having someone think the pathname
> > is filled.  Consider that

> >  (make-pathname :host myloghost :directory '(:relative) :defaults foo)

> > will not merge the directory from FOO.  Only

> >  (make-pathname :host myloghost :directory nil :defaults foo)

> > will grab the dir.

> Actually, I don't think nil will grab the dir from foo either --
> only omitting :directory will do that.

Oh, sorry. Yes, you're right, of course.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marco Antoniotti  
View profile  
 More options Feb 25 2002, 1:38 pm
Newsgroups: comp.lang.lisp
From: Marco Antoniotti <marc...@cs.nyu.edu>
Date: 25 Feb 2002 13:38:37 -0500
Local: Mon, Feb 25 2002 1:38 pm
Subject: Re: logical pathnames - lack of info?

Kent M Pitman <pit...@world.std.com> writes:

Well, what is your *opinion* about what the following should do on your
regular UNIX system?

(let ((p (parse-namestring "/zut"))) ; No trailing slash.
   (format t "directory: ~S~%name: ~S~%type: ~S~%"
           (pathname-directory p)
           (pathname-name p)
           (pathname-type p)))

(Note the convenient omission of host, device and version from the
example :) ).

Cheers

--
Marco Antoniotti ========================================================
NYU Courant Bioinformatics Group        tel. +1 - 212 - 998 3488
719 Broadway 12th Floor                 fax  +1 - 212 - 995 4122
New York, NY 10003, USA                 http://bioinformatics.cat.nyu.edu
                    "Hello New York! We'll do what we can!"
                           Bill Murray in `Ghostbusters'.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marco Antoniotti  
View profile  
 More options Feb 25 2002, 1:56 pm
Newsgroups: comp.lang.lisp
From: Marco Antoniotti <marc...@cs.nyu.edu>
Date: 25 Feb 2002 13:56:11 -0500
Local: Mon, Feb 25 2002 1:56 pm
Subject: Re: logical pathnames - lack of info?

PS. Note also the convient defaulting form of the call to
PARSE-NAMESTRING.

Cheers

--
Marco Antoniotti ========================================================
NYU Courant Bioinformatics Group        tel. +1 - 212 - 998 3488
719 Broadway 12th Floor                 fax  +1 - 212 - 995 4122
New York, NY 10003, USA                 http://bioinformatics.cat.nyu.edu
                    "Hello New York! We'll do what we can!"
                           Bill Murray in `Ghostbusters'.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Pekka P. Pirinen  
View profile  
 More options Feb 27 2002, 1:00 pm
Newsgroups: comp.lang.lisp
From: Pekka.P.Piri...@globalgraphics.com (Pekka P. Pirinen)
Date: 27 Feb 2002 17:00:18 +0000
Local: Wed, Feb 27 2002 12:00 pm
Subject: Re: logical pathnames - lack of info?

Nils Goesche <car...@cartan.de> writes:
> [...] Books that explain to beginners how to define the tangent
> space of a manifold always choose some method that takes lots and
> lots of pages and intricate computations, although there is a method
> that is not only more general but also so easy and short that you
> can write it down and explain it on a freakin' beer mat (I did).
> [...]  Later on, I tried to explain it to beginners, too, more and
> more slowly.  But noone ever got it.

Maybe the beer had something to do with it.

I have this image of Nils scribbling on a beer mat already densely
covered with stars of vectors radiating into all directions from a
point: "You see, if we take functions that have a zero here... and the
derivative has a zero also... we can form a dual space out of
them... and the functions... with a zero... at this point... here..."
The beginner pushes his face into the diagram, studying it minutely,
and says: "Wow, if you squint your eyes, you can see the vectors
radiating in _three_ dimensions!"
--
Pekka P. Pirinen
"If you don't look after knowledge, it goes away."
  - Terry Pratchett, The Carpet People


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tim Bradshaw  
View profile  
 More options Feb 27 2002, 1:59 pm
Newsgroups: comp.lang.lisp
From: Tim Bradshaw <t...@tfeb.org>
Date: 27 Feb 2002 18:58:12 +0000
Local: Wed, Feb 27 2002 1:58 pm
Subject: Re: logical pathnames - lack of info?

* Nils Goesche wrote:
> It is a sad fact that one seems to lose much of the ability to tell
> what a beginner finds hard to understand and what not when one is
> too deep into a subject.  Books that explain to beginners how to
> define the tangent space of a manifold always choose some method that
> takes lots and lots of pages and intricate computations, although
> there is a method that is not only more general but also so easy and
> short that you can write it down and explain it on a freakin' beer
> mat (I did).

Can it be done with text? if it can I'd like to hear it!

--tim


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nils Goesche  
View profile  
 More options Feb 27 2002, 2:29 pm
Newsgroups: comp.lang.lisp
From: Nils Goesche <car...@cartan.de>
Date: 27 Feb 2002 19:29:53 GMT
Local: Wed, Feb 27 2002 2:29 pm
Subject: Re: logical pathnames - lack of info?

Hehe :-)  I always had the impression that beer and mathematics
don't disturb each other very much.  When I later read again what
I wrote days ago in some bar at five in the morning it always still
makes sense.  The group around Stefan Banach, who invented large parts
of functional analysis in the thirties, always met in the same bar.
They developed most of the theory in there.  They used to scribble
notes and formulae on the table cloth, which the waiters didn't like,
so the waiters began to always put a large sheet of paper onto their
favorite table.  Those were collected, and can now be seen in some
museum in poland.  Stefan Banach was known to outdrink everyone else.

The professor who taught me the above mentioned method to define the
tangent space of a manifold, a widely known differential geometer,
is a big friend of good wine.  He uses to invite his favorite scholars
to parties in his apartment where he serves samples of his exquisite
wine cellar.  Not many of them are able to walk home in a linear
fashion when those are over.

Regards,
--
Nils Goesche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID 0x42B32FC9


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Harald Hanche-Olsen  
View profile  
 More options Feb 27 2002, 3:46 pm
Newsgroups: comp.lang.lisp
From: Harald Hanche-Olsen <han...@math.ntnu.no>
Date: 27 Feb 2002 21:31:43 +0100
Local: Wed, Feb 27 2002 3:31 pm
Subject: Re: logical pathnames - lack of info?
+ Tim Bradshaw <t...@tfeb.org>:

| * Nils Goesche wrote:
|
| > It is a sad fact that one seems to lose much of the ability to tell
| > what a beginner finds hard to understand and what not when one is
| > too deep into a subject.  Books that explain to beginners how to
| > define the tangent space of a manifold always choose some method that
| > takes lots and lots of pages and intricate computations, although
| > there is a method that is not only more general but also so easy and
| > short that you can write it down and explain it on a freakin' beer
| > mat (I did).
|
| Can it be done with text? if it can I'd like to hear it!

Getting a bit off-topic here, are we?  I don't know what definition
Nils has in mind, but there are lots of equivalent definitions out
there.  My favorite is this:

The tangent space of manifold M at a point P is the set of derivations
of the smooth functions at P.  Here, a derivation at P (and hence a
tangent vector) is a linear map from the smooth functions on M to the
reals so that, for any two smooth functions f and g,

  X(fg) = X(f)·g(P) + f(P)·X(g).

(I hope most of you read this using the latin 1 charset, where · is a
dot (for multiplication).)  Note that this looks like a rule for some
sort of differentiation, e.g., a partial derivative, at P.

One canonical example is given by a smooth curve gamma in M with
gamma(0)=P: Define Xf as the derivative of f(gamma(t)) wrt t at t=0.

It's a fairly short calculation (using a kind of first order Taylor's
formula) to show that every tangent vector can be constructed from a
path in this way.  And then it's an even shorter step to express the
general tangent vector as a linear combination of partial derivatives
arising from some smooth map on the manifold.

Now I think this is very short and sweet, but the abstraction level
may be way too high for beginners, which is why textbooks often choose
a more complicated definition, typically starting with expressing a
tangent vector in coordinates and then considering what happens when
you change to a different coordinate system.

Now I am curious as to whether Nils had this or something else in
mind.  I have never tried writing this one on a beer mat.

--
* Harald Hanche-Olsen     <URL:http://www.math.ntnu.no/~hanche/>
- Yes it works in practice - but does it work in theory?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 51 - 75 of 81 < Older  Newer >
« Back to Discussions « Newer topic     Older topic »