Quick, commit it before it all goes horribly wrong
... minimum of package frobbing in boot.lisp to get it to
compile. It can't possibly work in any real way in the
host lisp yet, but it may not need to
So I may be storing trouble up for myself here, in that there's a nasty
tangle involving generic functions and methods looming up ahead, but I
have some kind of plan. After this, I can work on getting braid into
the build, which is where the fun starts: the plan is that the various
!BOOTSTRAP-META-BRAID functions should be callable early in cold-init.
Thus, we move braid into the build, and in make-host-1 call the
!BOOTSTRAP functions as before, while we ensure that they are called in
cold-init as early as possible, so that the kernel classes are set up
before ordinary top-level forms run.
What happens then? Generic functions qua generic functions will be
dealt with in more-or-less the same way, except that there's a wrinkle
to do with them being expected to be funcallable instances with slots
and suchlike, so they don't map terribly well to host objects; we shall
probably have to think about that.
Methods have another interesting wrinkle, in that to create them
involves calling MAKE-INSTANCE. A two-pass strategy is probably best
there -- first, create fake methods a la EARLY-METHOD, which we know how
to call; then, a second pass can create the real methods.