guile-user
[Top][All Lists]
Advanced

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

Re: on bootstrapping: introducing Mes


From: Ludovic Courtès
Subject: Re: on bootstrapping: introducing Mes
Date: Tue, 21 Jun 2016 22:38:22 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Jan Nieuwenhuizen <address@hidden> skribis:

> Ludovic Courtès writes:

[...]

>> 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
> assembler.
>
> So the idea is to go from one small verifyable binary straight into
> LISP and build a tiny C compiler on top of that.

I see, that makes sense.  libguile/{eval,memoize}.c alone is 1,900+
lines, and it relies on other parts of libguile, as well as libgc.  So
in that sense, Mes is quite an achievement, and probably better suited
to make a small binary!

>> 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 :-)

I understand now.

Thanks for explaining!

Ludo’.



reply via email to

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