Subject: Re: What I want from my Common Lisp vendor and the Common Lisp community
From: Erik Naggum <erik@naggum.net>
Date: Fri, 31 Aug 2001 22:32:23 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3208285943161502@naggum.net>

* Sam Steingold <sds@gnu.org>
> this (unfortunate and now removed) comment is _very_ old
> (from long before my days).

  Thank you.

> the only place where ANSI CL standard is (IMHO) deficient is readable
> pathname printing: #p"" is ambiguous (#p".foo" can be #s(pathname :type
> "foo") and #s(pathname :name ".foo")).

  The implementation has to make some design choices when it comes to
  mapping pathname namestrings to and from the underlying operating system
  and its inevitable differences from the pathname concept.  For instance,
  Unix makes no distinction between "/tmp/foo/" and "/tmp/foo", but these
  mean different things entirely in pathnames if the former has :directory
  (:absolute "tmp" "foo") and the latter has :name "foo".  Likewise, since
  "dot files" are possible in Unix and get somewhat strained when
  shoehorned into the pathname concept, you have to make a design choice
  and stick by it.  When things are ambiguous, the only thing you need to
  do is document your choice, but if you are really nice, you can make it a
  user-configurable option.

> the #s(pathname ...) (and #s(logical-pathname)!) notation, while used in
> a couple of CLHS pages, has not been standardised.  any chance it ever
> will be?

  Not unless we define a particular Unix bindings or pathname concepts.

///