From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [bootstrappable] Re: prototyping the full source bootstrap path Date: Mon, 20 Nov 2017 22:55:56 +0100 Message-ID: <87o9nwzkb7.fsf@gnu.org> References: <877eulkii1.fsf@gnu.org> <87y3n15mru.fsf@gnu.org> <87vai5w50j.fsf@elephly.net> <87tvxoiyh7.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45654) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eGu2s-0000sp-Nm for guix-devel@gnu.org; Mon, 20 Nov 2017 16:56:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eGu2r-0005WJ-RS for guix-devel@gnu.org; Mon, 20 Nov 2017 16:56:02 -0500 In-Reply-To: <87tvxoiyh7.fsf@gnu.org> (Jan Nieuwenhuizen's message of "Mon, 20 Nov 2017 19:41:56 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Jan Nieuwenhuizen Cc: guix-devel@gnu.org, bootstrappable@freelists.org Jan Nieuwenhuizen skribis: > Ricardo Wurmus writes: > >> Ludovic Court=C3=A8s writes: >> >>> So the next steps in the dependency graph are: >>> >>> mes-boot -> mescc -> tinycc -> gcc@4.7 -> gcc >>> >>> Do I get this right? > > That has been my idea for a long time, yes...but it may not be feasible, > wise or most fun. It may not be feasible because Mes Scheme is just > tooo slow. We could look into fixing that, or try to avoid it by > >> It=E2=80=99s not clear yet. An alternative approach is to try to build = Guile >> first by using mes as the bootstrap Scheme interpreter. > > ...yeah bootstrapping into to Guile Scheme early! Something like > > mes-boot -> mescc -> mini-guile -> mescc+/guilecc -> gcc@4.7 It wouldn=E2=80=99t really help in that mescc+/guilecc is just as capable a= s the earlier mescc, no? > That's a very tempting idea that Ricardo came up with in Berlin and we > even hacked quite a bit on this. To be precise, we looked if Mes could > run ice-9/eval.scm. > > One of the targets that had on my list for a long time is > libguile/eval.c. Now I'm starting to wonder, what would be the fastest > path to a minimal Guile, and what would we need for that? IIUC, Guile > does not run without at least some bits of libguile, such as > libguile/strings.c. Thoughts? Indeed, Guile needs a C compiler. In general, we need a C compiler early on=E2=80=A6 unless we have replaceme= nts for Bash, Coreutils, etc. written in Guile or Mes, which would allow us to strip bits of the tip of the DAG. Thanks, Ludo=E2=80=99.