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

Alaric B. Williams alaric@abwillms.demon.co.uk
Mon, 5 May 1997 22:13:02 +0000


> >(abwillms.demon.co.uk Public Hello!)
> >
> >Meaning "the object Hello inside the object Public inside the
> >object abwillms.demon.co.uk".
 
> 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.

Agreed!

> I prefer 
> (get-name "Hello" 
> 		(get-name "Public" (get-name "abwillms.demon.co.uk" *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
identifier.

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

=> a new syntax:

(make-path *internet* "abwillms.demon.co.uk" 'Public 'Hello!)


ABW
--
Alaric B. Williams (alaric@abwillms.demon.co.uk)

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

Plain HTML: http://www.delorie.com/opendos/faq/
            http://www.deltasoft.com/faq.html

Fancy HTML: http://www.deltasoft.com/faq0000.html