pathnames [Re: files, printers, etc. [Re: The feel of a Lisp

Adam Alpern Alpern@brightware.com
Sat, 3 May 1997 15:39:40 -0700


I highly recommend staying within the limitations of the language when
designing things like pathnames. Assuming Common LISP as a reasonable
base, let's go over some basics - 

2) CL has a reasonable, standardized pathname system that it independent
of the underlying OS. Extending it past the local machine, to cover
URLS, etc... should not be hard.

2) symbols are evaluated and interned in packages. Think long and hard
before you use them as a basic part of your pathnames. 

3) Period is a basic syntactic form, used to construct a dotted pair (a
cons cell). If you think any LISP programmer is going to let you take
that away, you are sorely mistaken.

Instead of re-inventing the wheel all over again, try to leverage as
much as you can. I recommend looking at CL-HTTP - it's an excellent,
very well-written, very powerful program. It's also an example of good
LISP style. Merging URLs from CL-HTTP and pathnames from ANSI Common
LISP, with a few extensions to cover local objects like printers,
should cover just about all your path needs VERY nicely.

- Adam

alpern@brightware.com
http://www.brightware.com/~alpern/


> -----Original Message-----
> From:	Alaric B. Williams 
> [ snip ]
> Ok, here's how I'd do it.
> 
> A pathname is a symbol list, identifying an object in the user
> namespace. Any user-level object; printer, file, directory, system,
> user, etc.
> 
> Now, all pathnames start from the global root - the set of all hosts
> on an Internet system. EG:
> 
> [ snip ]
> 
>  - . referring to the CWD
> 
> ((.) Hello!)
> 
> etc.
> 
> ABW
>