From mboxrd@z Thu Jan 1 00:00:00 1970 From: Timothy Sample Subject: Re: Preparing the reduced bootstrap tarballs Date: Mon, 26 Nov 2018 13:49:34 -0500 Message-ID: <87ftvnr7wh.fsf@ngyro.com> References: <87a7m61r4m.fsf@ITSx01.pdp10.guru> <8736ryutoy.fsf@netris.org> <87ftvys00m.fsf@gnu.org> <87r2ff4utb.fsf@ngyro.com> <87muq22mun.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]:52601) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRLwy-0008VY-UV for guix-devel@gnu.org; Mon, 26 Nov 2018 13:49:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRLwv-0000tJ-PU for guix-devel@gnu.org; Mon, 26 Nov 2018 13:49:40 -0500 In-Reply-To: <87muq22mun.fsf@gnu.org> (Jan Nieuwenhuizen's message of "Wed, 21 Nov 2018 21:32:16 +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, Rutger van Beusekom Hi Jan, Jan Nieuwenhuizen writes: > Timothy Sample writes: > >> I wanted to let you know that I=E2=80=99ve been doing more work on the l= ittle >> Shell backend that we were talking about earlier. It=E2=80=99s kind of = like the >> worse-is-better version of Gash: it is certainly not as nice, but the >> development pace is much faster. I did take a look at just working on >> Gash directly, but it looked like it was going to be a lot slower. > > Oh, that's great news! We have been making good progress on Gash. The > parser has been completely revamped. The next target is to add a > transformation that should result in a eval'able shelly Guile script, > ideally something that you'd want to write by hand. That=E2=80=99s what I like best about Gash. My =E2=80=9Cshelly=E2=80=9D co= de is a mess and no one should write it by hand! :) > To achieve that will take some time. It would be nice if we could work > together shaping this shelly script language . I agree, but I am hesitant to worry about this now. The more I work on Geesh the more I realize that building a shell is a big project. I=E2=80= =99ve consistently been moving from worrying about making things work nicely to just making them work. I hope that once the basic features are in place it will be a lot more fun to improve things gradually. Does that make sense? > If Gash and Geesh would produce (after transformation) the same shelly > script language, we can also share the backend implementation, WDYT? I=E2=80=99m a little bit confused about this. After we exchanged notes last time, I thought we were going to share front-ends. Now it seems you=E2=80= =99ve doubled-down on Gash=E2=80=99s PEG parser and want to share back-ends. Why= the change in plans? It makes more sense to me to share front-ends because the parser in Geesh is quite complete. Also, you already wrote some code to transform its output into a Gash script. >> So, keeping in mind that software estimates are very unreliable, I would >> say that I might have a workable interpreter in the next week or two. >> There are three big features missing: globbing, asynchronous commands, >> and arithmetic substitutions. I am almost finished globbing, >> asynchronous commands should be pretty easy, and I plan to leave >> arithmetic substitutions on the road-map for as long as possible (it=E2= =80=99s a >> little bit boring). > > Hehe. I had a look and you did make lots of progress! So have you! It=E2=80=99s pretty funny that we both picked up working on t= his at about the same time. In hindsight, I should have contacted you before diving in again in order to minimize duplicated work. On the other hand, it seems you=E2=80=99re guilty of the same thing! Oh well. ;) I=E2=80=98m not too worried about it, and I=E2=80=99m having fun. I hope y= ou are too. >> After I get those first two features working, I am going to start >> testing running build scripts for Bash. I will contact you then in case >> you have any new advice on which scripts are important or anything else. > > Great, > Keep up the good work! I skipped asynchronous commands and implemented a bunch of built-ins instead. Now Geesh will run most of Bash=E2=80=99s configure script. It r= uns until it tries to write =E2=80=9Cconfig.sub=E2=80=9D which it writes incorr= ectly due to an unset variable (ironically, it seems to be the =E2=80=9C$SHELL=E2=80=9D = variable). That means it chews through over 17,000 lines of configure script! It does this very s-l-o-w-l-y, but it=E2=80=99s exciting all the same. -- Tim