[Ecls-list] cannot redefine functions in compiled program?
Tobias C. Rittweiler
tcr at freebits.de
Tue Dec 16 18:42:05 UTC 2008
Anton Vodonosov writes:
> As far as I understand, PROCLAIM (and thus DECLAIM) has global effect,
> not limited to one file.
Strictly speaking, yes. In practise, that's most probably not what you
want, so I think most implementation make it file-local, only. [*]
> If you call (PROCLAIM (OPTIMIZE (DEBUG 2))) before compilation of the
> system, it will be in effect for all the files compiled after that (if
> not overridden in some of these files).
This is true. You can for example place the PROCLAIM (or DECLAIM) in
load.lisp (or similiar) which is responsible for compiling and loading
[*] E.g. SBCL saves the current compilation policy (containing the
optimize qualities) akin to how the current readtable and package is
saved in COMPILE-FILE.
More information about the ecl-devel