But binding info dynamically is still useful to have, right ?


On Sun, Mar 9, 2014 at 11:36 PM, Stas Boukarev <stassats@gmail.com> wrote:
Douglas Katzman <dougk@google.com> writes:

>  (let ((a 0)) (defstruct foo (id (incf a)))) ; loses lexical context
>
> and
>
> (let((sb-ext:*evaluator-mode* :interpret)) (load"thing.fasl"))
>
> #'foo-id => #<INTERPRETED-FUNCTION ...>
> I think would be considered surprising behavior by most folks.
I restored the lexical context, but the interpreted function is
something with which most folks have to deal with.

There seems to be no nice way of creating a LAYOUT without a classoid
and dumping it into a fasl, everything expects layout-classoid to be
set. If that could be done, then everything can be compiled on the
first pass.

--
With best regards, Stas.