From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Removing compilers that cannot be bootstrapped Date: Sat, 26 Mar 2016 15:31:56 +0100 Message-ID: <87k2kp1fab.fsf@gnu.org> References: <87twjz4fcn.fsf@gnu.org> <87h9fyw3j8.fsf@dustycloud.org> <87bn64u9mc.fsf@gnu.org> <87lh58izcy.fsf@dustycloud.org> <20160324031126.GA22569@jasmine> <87d1qi40me.fsf@gnu.org> <20160326002235.GA3676@jasmine> <87io09bv2s.fsf@gmail.com> <87pouh1wu3.fsf@elephly.net> 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]:38171) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajpFz-0006cB-64 for guix-devel@gnu.org; Sat, 26 Mar 2016 10:32:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ajpFv-0007jj-Rm for guix-devel@gnu.org; Sat, 26 Mar 2016 10:32:03 -0400 In-Reply-To: <87pouh1wu3.fsf@elephly.net> (Ricardo Wurmus's message of "Sat, 26 Mar 2016 09:12:52 +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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ricardo Wurmus Cc: guix-devel Ricardo Wurmus skribis: > It is probably easier for us to try to write primitive compilers in > Guile than to start from scratch each time. Then the only blob we need > to figure out how to bootstrap would be Guile itself. +1 Though of course, writing a faithful C or Haskell or OCaml compiler is huge task, and chances are we=E2=80=99ll always miss compilers for some languages. So I think we should take both routes: on one hand try to come up with minimalist Guile implementations of languages (your work with Yale Haskell, or the project on Bournish), and on the other, with help from the reproducible-builds.org group, raise awareness about the issue among compiler writers and users so that the ability to bootstrap from another, common programming language becomes a requirement. Of course Guile itself is pretty big, so we may eventually have to think about a =E2=80=9CPreScheme=E2=80=9D language, as is used to bootstrap Schem= e48=C2=B9. Epsilon=C2=B2=C2=B3 contains interesting ideas as well. Ludo=E2=80=99. =C2=B9 https://en.wikipedia.org/wiki/PreScheme =C2=B2 https://www.gnu.org/software/epsilon/ =C2=B3 http://ageinghacker.net/publications/#phd-thesis