bootstrapping and porting (was: 2 levels of Slate)

Jecel Assumpcao Jr jecel at merlintec.com
Wed Nov 10 00:34:45 PST 2004


Pupeno <pupeno at pupeno.com> wrote:
> Je Lundo Novembro 8 2004 20:01, Lee Salzman skribis:
> > C is the only reason these levels exist. They will become significantly
> > more blurry once Slate is able to compile itself. There will be no more
> > executable, just an image.
> This, for me, represents the chicken and egg problem. You provided me a c 
> compilation of Slate, so I compiled with the c compiler I already have...

And how did your machine come to have a C compiler? Hint - it didn't
appear by magic :-)

> but 
> if in time, you will only provide a bunch of slate code which is 
> self-compiling, where do I get the first slate to compile it ?

Don't you already have Slate running on your machine? Before there was
the C version, there was the Lisp version and that was used to generate
the C version. I don't see the problem of using the current system to
generate a self-compiling one.

> Ok, you can provide me with a compiled Slate so I can start from there... what 
> if, for some reason, the compiled Slate you provide doesn't work on my 
> architecture/computer ? The only solution I find is that someone has to start 
> coding Slate so it can compile (cross-compile in fact) itself to the other 
> platform. Am I right here ?

Exactly, but somebody had to do this once in the past for your C
compiler too. I can understand the difference in effort on our part
between work that already has been done (like reusing external
libraries, for example) and that which still must be done (like
recreating those libraries entirely in Slate) and that applies to
porting to new machines as well.

But in the past I had to deal with machines that had no C compiler for
them and so I had to do my own port. It isn't a big deal, but I would
have found it much easier to port a self-compiling Slate instead.

What I am trying to say is: don't be too impressed by the current
computing infrastructure. It is not special or natural in any way, just
the result of some choices by regular people. Let's feel free to revisit
these choices and explore alternatives.

-- Jecel




More information about the Slate mailing list