pathnames [Re: files, printers, etc. [Re: The feel of a Lisp
Chris Bitmead uid(x22068)
Chris.Bitmead@Alcatel.com.au
Wed, 07 May 1997 11:45:36 +1000
>You could write:
>
>(*employees* 'pictures #(picture of Lionel))
>(*employees* 'names "Lionel B. Snell")
>(*employees* 'surname "Snell"
>
>The directory objects "pictures", "names", and "surname" are all in
>fact accessors for one database-like object.
So what's the deal with this very un-lispish syntax? Why not do things
the way it's always been done...
(search-by-picture *employees* #(picture of Lionel))
(search-by-name *employees* "Lionel B. Snell")
(search-by-surname *employees "Snell")
;;people older than 50
((lambda (list) (mapcar list (lambda (item) (- (date) (birthday item)) < 50)))
*employees*)
>> >> >((.) 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.
>
>> Well if it's a standard then that kind of implys a global
>> concept. Perhaps I don't understand you right.
>
>I don't explain myself too well, I'm afraid. The . is the idenitifier of
>a variable, yes; just in line with the UNIXy convention, this particular
>person has called his PWD "."!
Then I don't follow why the "." is in between "()" as if "." was the
name of a function.
>> >(make-path *internet* "abwillms.demon.co.uk" 'Public 'Hello!)
>>
>> You're still assuming simple tree structure with a single key for
>> getting at your objects.
>
>But no :-)
I can't see how. What exactly is the symbols 'Public and 'Hello
supposed to be then?