From: Jan Nieuwenhuizen <janneke@gnu.org>
To: Timothy Sample <samplet@ngyro.com>
Cc: guix-devel@gnu.org
Subject: Re: Building Bash with Geesh
Date: Fri, 07 Dec 2018 18:08:38 +0100 [thread overview]
Message-ID: <87o99xp8mh.fsf@gnu.org> (raw)
In-Reply-To: <87pnudwdda.fsf@ngyro.com> (Timothy Sample's message of "Fri, 07 Dec 2018 10:44:17 -0500")
Timothy Sample writes:
Hi Timothy!
> Over the last year, I built Geesh <https://gitlab.com/samplet/geesh>,
> which is a simple Shell interpreter written in Guile Scheme. As of the
> other day, it is capable enough to build Bash!
That is just amazing, congrats!
> Geesh is very simple, and is missing a lot of features. It does not
> even support all of POSIX. If you are looking for a new shell, Geesh is
> not for you! (It doesn’t even prompt for input!)
> Now, there are some caveats with respect to actual bootstrapping:
>
> • It does not have a non-Autotools build script;
That's OK, we can add a bootstrap-geesh if we want.
> • It requires Guile 2.2, while (I assume) the current bootstrap
> Guile is version 2.0;
That should be OK too, I'll leave Ludo' to comment on this, but Gash
also needs Guile 2.2; on my Guix wip-bootstrap branch I already upgraded
Guile.
> • It still requires Core Utilities, though many of the utilities are
> available as Guile code in Gash.
Yes!
> Of these, I think fixing the first two will be trivial, while fixing the
> third will require a bit of work (though hopefully not too much). Once
> these things are done, we will be pretty close to being able to retire
> the “coreutils&co” bootstrap binary. We certainly could make it a lot
> smaller. (AFAIK, we are still missing a few things, but Jan knows
> better than I do.)
Just yesterday, I managed to build a minimal bash and make using Gash
and a very simple boot script, so without coreutils&co. A Scheme-only
bootstrap is coming closer...
> You may be thinking at this point, “what about Gash?” (For those who
> don’t know, Gash is also a Shell interpreter written in Guile
> <https://gitlab.com/janneke/gash>.) The Gash folks and I have been
> thinking for a while about the best way to share work and combine
> efforts.
Yeah...Gash has an option to use the Geesh LALR parser, however it's not
very well integrated (in fact I fear that the integration may have
bitrotted).
I think we should either cherry-pick eachother's goodies for a while, or
somehow merge into one project that has two parsers (LALR and PEG), or
spawn a new Guile library that provides the backend (the core-utils and
co). It's a real interesting puzzle. WDYT?
> Finally, and I’m just putting this out there ;), if you’re new to Guile
> and want a simple project learn with, Geesh might be right for you! It
> was a Guile-learning project for me, and it served its purpose
> admirably.
Thanks!
janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
next prev parent reply other threads:[~2018-12-07 17:08 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-07 15:44 Building Bash with Geesh Timothy Sample
2018-12-07 17:08 ` Jan Nieuwenhuizen [this message]
2018-12-07 22:21 ` Ludovic Courtès
2018-12-08 0:33 ` Timothy Sample
2018-12-08 6:47 ` Jan Nieuwenhuizen
2018-12-08 1:01 ` Timothy Sample
2018-12-09 4:17 ` Chris Marusich
2018-12-09 6:58 ` Jan Nieuwenhuizen
2018-12-09 15:20 ` Timothy Sample
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=87o99xp8mh.fsf@gnu.org \
--to=janneke@gnu.org \
--cc=guix-devel@gnu.org \
--cc=samplet@ngyro.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.