From: Timothy Sample <samplet@ngyro.com>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: guix-devel@gnu.org, Rutger van Beusekom <rutger.van.beusekom@gmail.com>
Subject: Re: Preparing the reduced bootstrap tarballs
Date: Mon, 26 Nov 2018 13:49:34 -0500 [thread overview]
Message-ID: <87ftvnr7wh.fsf@ngyro.com> (raw)
In-Reply-To: <87muq22mun.fsf@gnu.org> (Jan Nieuwenhuizen's message of "Wed, 21 Nov 2018 21:32:16 +0100")
Hi Jan,
Jan Nieuwenhuizen <janneke@gnu.org> writes:
> Timothy Sample writes:
>
>> I wanted to let you know that I’ve been doing more work on the little
>> Shell backend that we were talking about earlier. It’s 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’s what I like best about Gash. My “shelly” code 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’ve
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’m 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’ve
doubled-down on Gash’s 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’s a
>> little bit boring).
>
> Hehe. I had a look and you did make lots of progress!
So have you! It’s pretty funny that we both picked up working on this
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’re guilty of the same thing! Oh well. ;)
I‘m not too worried about it, and I’m having fun. I hope you 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’s configure script. It runs
until it tries to write “config.sub” which it writes incorrectly due to
an unset variable (ironically, it seems to be the “$SHELL” 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’s exciting all the same.
-- Tim
next prev parent reply other threads:[~2018-11-26 18:49 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-18 12:56 Preparing the reduced bootstrap tarballs Jeremiah
2018-11-18 18:27 ` Mark H Weaver
2018-11-18 18:39 ` Jan Nieuwenhuizen
2018-11-20 15:45 ` Timothy Sample
2018-11-21 20:32 ` Jan Nieuwenhuizen
2018-11-26 18:49 ` Timothy Sample [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-11-21 3:36 Jeremiah
2018-11-20 0:26 jeremiah
2018-11-20 8:28 ` Ricardo Wurmus
2018-11-17 14:27 Jeremiah
2018-11-17 23:14 ` Mark H Weaver
2018-11-19 18:54 ` Giovanni Biscuolo
2018-11-15 20:39 Jeremiah
2018-11-16 18:27 ` Ludovic Courtès
2018-11-16 20:44 ` Jan Nieuwenhuizen
2018-11-17 14:05 ` Ludovic Courtès
2018-11-18 7:32 ` Jan Nieuwenhuizen
2018-11-18 10:02 ` Jan Nieuwenhuizen
2018-11-17 3:49 ` Mark H Weaver
2018-10-14 8:58 [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Jan Nieuwenhuizen
2018-10-14 8:58 ` [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes Jan Nieuwenhuizen
2018-10-19 21:31 ` Ludovic Courtès
2018-10-20 7:35 ` Jan Nieuwenhuizen
2018-10-21 21:09 ` Ludovic Courtès
2018-10-21 21:32 ` Jan Nieuwenhuizen
2018-10-23 21:00 ` bug#33038: " Jan Nieuwenhuizen
2018-11-15 9:06 ` Preparing the reduced bootstrap tarballs Ludovic Courtès
2018-11-15 15:44 ` Jan Nieuwenhuizen
2018-11-16 18:22 ` Ludovic Courtès
2018-11-16 20:52 ` Jan Nieuwenhuizen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ftvnr7wh.fsf@ngyro.com \
--to=samplet@ngyro.com \
--cc=guix-devel@gnu.org \
--cc=janneke@gnu.org \
--cc=rutger.van.beusekom@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.