open in SBCL

From: Antonio Menezes Leitao (Antonio.Leitao_at_evaluator.pt)
Date: 04/29/04


Date: Thu, 29 Apr 2004 17:53:09 +0100

Hi everybody,

My initial impression that CMUCL and SBCL would have many things in common
is rapidly disappearing.

According to the Hyperspec (Function open):

  An implementation is required to recognize all of the open keyword
  options and to do something reasonable in the context of the host
  operating system. For example, if a file system does not support
  distinct file versions and does not distinguish the notions of deletion
  and expunging, :new-version might be treated the same as :rename or
  :supersede, and :rename-and-delete might be treated the same as
  supersede.

Now, if you open a file for :output, specifying that :if-exists is
:new-version, and the file in fact exists, CLISP, Allegro, Lispworks and
CMUCL (all in Linux) apparently follow the Hyperspec suggestion and
treat :new-version as :supersede.

Contrary to its venerated father (and the explicit recommendation of
the Hyperspec), SBCL (in Linux) apparently prefers to treat :new-version
as :error, meaning that an error is signalled.

Is there a rational to this behaviour?

Thanks,

Antonio Leitao.



Relevant Pages

  • Re: CONSTANTLY
    ... Dirk> SBCL removed it to be closer to the HyperSpec? ... It's been in CMUCL for as long as I can remember. ...
    (comp.lang.lisp)
  • Re: SBCL on FreeBSD (was: Re: Reddit rewritten in Python)
    ... but doesn't the 32-bit version of SBCL ... runs just fine on 64-bit Linux -- I use it all the time at work. ... I would be really surprised in the 32-bit FreeBSD versions of CMUCL ...
    (comp.lang.lisp)
  • Re: UNDEFMETHOD
    ... fmakunbound is what I was looking for- ... Not obvious from the Hyperspec (but there is a mention in PG's book of ... Dan's UNDEFMETHOD macro does not work under CMUCL, ... the conflicting method definition, as far as I can tell. ...
    (comp.lang.lisp)
  • Re: How to use optional and unknow amount of arguments?
    ... And one that follows the ANSI standard and thus works for both ... allegro, sbcl etc. ... Try the HyperSpec. ...
    (comp.lang.lisp)
  • "$" as character in symbol names in SBCL?
    ... CL-USER> 'a$b ... But the hyperspec says "$" is perfectly valid in symbol names: ... Is this an SBCL bug? ...
    (comp.lang.lisp)