bootstrapping [was: Re: HLL is not against LLL]

Rainer Blome
Sat, 29 Jul 1995 20:04:18 +0200

> * we want our OS to be and distributed over heterogeneous networks.
> * we want it to be standalone and dynamically extensible.
> * we want to have a implementation as quickly as possible.
> * we want it to be as efficient as possible in the above limits


then you argue  why a LLL is favorable for bootstrapping.

> * because we want the implementation to be efficient, we must be *able*
>   to compile code to the lowest possible level.

here i disagree.  booting doesn't have to be maximally efficient.  what i
have in mind is more like jecel's approach: bootstrap from a high,
comfortable level, then add an efficient, low level.  why not start with a
self-like bytecode interpreter?

self-like languages force you to structure, forth will make things ugly.
we don't need much efficiency for the initial boot stages.  special-purpose
languages (e.g. forth, compiled self, other bytecodes like java, guile or
caml-light) can be added when needed.

booting would thus be:
 1. boot lll interpreter (maybe from rom, disk or net?)
 2. use it to get the hll (which may just be a lll compiler) from somewhere
 3. use that to do anything else

and this would have the advantage of the lll being (one of?) the hll(s).

(migration stuff etc. still applies)