On Fri, Nov 16, 2007 at 07:37:07PM +0200, Juho Snellman wrote:
> "Nikodemus Siivola" <nikodemus@...> writes:
> > CLHS COMPILE-FILE entry says that the primary value of COMPILE-FILE
> > is NIL if "file could not be created". We currently implement this meaning
> > "could not create the file in the filesystem", which I submit is suboptimal.
> > I propose to interpret the entry to mean "_fasl_ could not be created", and
> > return NIL (and clean up the fasl) if the compilation was aborted.
> > Is this sane, or taking too many liberties?
> At least I've always considered producing non-complete fasls to be a
> bug, not a feature, so that sounds good.
It seems to me that your proposed change doesn't take too many
liberties: it is a defensible interpretation.
I consider creation of incomplete fasls to be at least a wart on the
interface. (Given the way people sometimes manage to specify
interfaces that are undeniably broken, like with race conditions or
uncatchable errors or inability to express some kinds of filenames,
I'm looking for a milder word for an interface that's merely
unnecessarily clumsy, not clearly broken.) But it looks to me like the
wart is in the spec and can't be properly fixed properly in a
particular implementation. Your change is OK with me, but making your
change in SBCL will not make it a good idea to write system-builder
software which depends on your change.
William Harold Newman <william.newman@...>
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C
"Among animals, it's eat or be eaten. Among people, it's define or be
defined." -- Nancy Lebovitz