[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: on bootstrapping: introducing Mes

From: Jan Nieuwenhuizen
Subject: Re: on bootstrapping: introducing Mes
Date: Tue, 21 Jun 2016 18:36:32 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Ludovic Courtès writes:

>> It was inspired by the seemingly often ignored bootstrapping question
>> made so painfully visible by GuixSD and by OriansJ with their self
>> hosting hex assembler project.
> Sounds fun!


>> As a next step after a hex assembler I was thinking of getting Scheme up
>> and running and use that to create a tiny C compiler, probably using
>> PEG.  For that I think we need define-syntax, which I had a peek at and
>> still scares the all-sorts-of-things out of me :-)

> From a bootstrapping viewpoint, since Mes is in C, we’re back to the
> same problem we have with Guile.  :-) Guile has an interpreter written
> in C, for bootstrapping purposes, and it’s capable of running any kind
> of Scheme code, I think, including the full macro expander.

Ah.  I possilby did not make myself clear --that or I don't understand
the problem.  The C interpreter is now 900 lines and I hope to simplify
it into about half.  I intend to make it so tiny that it can be easily
implemented in annotated hex, so that we only need OriansJ's hex

So the idea is to go from one small verifyable binary straight into
LISP and build a tiny C compiler on top of that.

> To make the bootstrap Guile smaller, maybe we could remove .go files
> from it and build them as the initial step.  That would be comparable to
> the strategy you suggest, I think.

It's not so much about smaller per se, but about making the initial
binary we have to trust so small that it can be inspected byte-for-byte.
Not sure yet if that's feasible or helpful, but as you guessed it's fun :-)


Jan Nieuwenhuizen <address@hidden> | GNU LilyPond
Freelance IT | Avatar®  

reply via email to

[Prev in Thread] Current Thread [Next in Thread]