[Clc-users] [Sbcl-devel] Re-loading of ASDF-based system where file, that contains defpackage form, is modified

Juho Snellman jsnell at iki.fi
Thu Dec 27 17:10:29 UTC 2007


Joubert Nel <joubert at joubster.com> writes:
> I received a note from Christophe mentioning that the result when
> changing a (defpackage) form inbetween evaluating successive (require)
> forms, is undefined. 
> 
> However, I'm *not* modifying the (defpackage) form itself, merely stuff
> inside the package. It seems like a subtle, but definite distinction.

It doesn't seem like a very relevant distinction though, in light of
what the spec actually says:

  If defined-package-name already refers to an existing package, the
  name-to-package mapping for that name is not changed. If the new
  definition is at variance with the current state of that package,
  the consequences are undefined; an implementation might choose to
  modify the existing package to reflect the new definition.

Note that it's not a matter of modifying the defpackage form, it's a
matter of modifying the state of the package in any way, without
having it be reflected in a defpackage form that's evaluated in the
future.

-- 
Juho Snellman




More information about the Clc-users mailing list