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

Alaric B. Williams
Mon, 5 May 1997 22:13:02 +0000

> >( Public Hello!)
> >
> >Meaning "the object Hello inside the object Public inside the
> >object".
> I think this is subtley locking yourself into a particular paradigm of
> a Unix style tree structure.

Not necessarily - the only thing I am asserting here is that groups
of objects may contain groups of objects. Those symbols, that
reference objects inside groups, could be anything - a group of
large-number prime factorisations, say, could use numeric
identifiers, and an analog associative store might accept
pictures as identifiers, returning the object most closely
matching - ie, there is an n:1 mapping of identifiers to objects.

> A true OOFS would not limit itself to
> simple tree style repositries. There might be all sorts of other data
> structures more appropriate for storing your objects and there might
> be all sort of better algorithms more suited for retrieving it than by
> a single string name.


> I prefer 
> (get-name "Hello" 
> 		(get-name "Public" (get-name "" *root*)))
> It looks more complicated here because I am limiting the case to lists
> which is not always optimal. The real power comes when you have a real
> problem to solve and you can use a better set of access methods for
> getting at your objects.

Yes, I think I'd replace my "backquoter" with something more like that,
where every path is made by "consing" an identifier with an existing path.

As for syntax... well... write a macro :-)
> >((.) Hello!)
> If you want a CWD you can just store one in a variable.

That's what the . was, rather than a global concept... just a standard

The CWD is really only a user-level concept anyway; it only complicates
programming tasks IMHO.

=> a new syntax:

(make-path *internet* "" 'Public 'Hello!)

Alaric B. Williams (

   ---<## OpenDOS FAQ ##>---

Plain HTML:

Fancy HTML: