From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Allan Webber Subject: Re: Removing compilers that cannot be bootstrapped Date: Sat, 26 Mar 2016 10:19:41 -0700 Message-ID: <87bn61jgr8.fsf@dustycloud.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> <87k2kp1fab.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]:33805) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajrvM-0002Mr-0V for guix-devel@gnu.org; Sat, 26 Mar 2016 13:22:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ajrvI-00008m-Qb for guix-devel@gnu.org; Sat, 26 Mar 2016 13:22:55 -0400 In-reply-to: <87k2kp1fab.fsf@gnu.org> 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: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel Ludovic Court=C3=A8s writes: > 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 nee= d >> 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 amon= g > 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 thin= k > about a =E2=80=9CPreScheme=E2=80=9D language, as is used to bootstrap S= cheme48=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 It's a pretty thrilling and enticing idea. It would be a ton of work. I think we'd need to get more people excited about and successfully contributing to Guile for it to happen. Thus I think we'd really need to advertise more just how cool Guile's compiler tower is and get people jazzed up about it. But bumping into Guile's compiler tower documentation is one of the reasons I started paying attention to Guile about a year and a half ago: http://dustycloud.org/blog/javascript-beyond-javascript/ I'm sure others would find that narrative compelling. It would be interesting to see the motivations of multi-language-Guile from its earliest days come back to the forefront with style and compelling motivation. - Chris