From: Jan Nieuwenhuizen <janneke@gnu.org>
To: Timothy Sample <samplet@ngyro.com>
Cc: "Ludovic Courtès" <ludo@gnu.org>, 38390@debbugs.gnu.org
Subject: [bug#38390] [core-updates] Scheme-only bootstrap: merge wip-bootstrap
Date: Sun, 01 Dec 2019 17:55:57 +0100 [thread overview]
Message-ID: <87zhgcaste.fsf@gnu.org> (raw)
In-Reply-To: <87r21of1y8.fsf@ngyro.com> (Timothy Sample's message of "Sun, 01 Dec 2019 11:25:03 -0500")
Timothy Sample writes:
Hi Ludo, Timothy,
>>> Gash Core Utils currently comes with
>>>
>>> [, awk, basename, cat, chmod, cmp, compress, cp, cut, diff, dirname,
>>> egrep, expr, false, fgrep, find, gawk, grep, gzip, head, ln, ls,
>>> mkdir, mv, pwd, reboot, rm, rmdir, sed, sleep, sort, tar, test,
>>> touch, tr, true, uname, uniq, wc, and which.
>>
>> Woow, excellent! Do I get it right that “Gash Core Utils” refers to the
>> ‘gash-core-utils’ branch at <https://gitlab.com/janneke/gash>?
>
> For now (see below).
Right. I think that while Timothy mostly worked on the Gash core to
make it a full sh alternative, I have been working in parallel to add
all utilities that are needed during bootstrap. That worked out pretty
OK, but now things need to come together again.
>> So this is meant to be a Gash extension but separate from Gash. Looks
>> really cool!
>
> My long term plan for it is to be a really, really souped-up version of
> “(guix build utils)”. Hopefully we can get reasonably nice Scheme
> interfaces for common shell idioms and then build the utilities on top
> of those interfaces. Then, the library could be useful independent of
> the external utilities, Gash, and bootstrapping. It’s nowhere near
> there yet, but that’s the goal.
Yes, a nice shell library for Guile was Rutger's initial goal for the
pre-merger Gash. I have diverged quite a bit from that path by
focussing on the actual shell tools -- so while some of the library
functionality is starting to fall in place, an actual nice library
interface is still mostly missing...
>> Do you plan to eventually merge it on Savannah? (I expected to find the
>> code there. :-)
>
> Yes! I plan to add another repo as part of the Gash project. This will
> happen when it’s closer to an initial release. (I’ll have to audit all
> of the copyright notices, etc., which I find easier to do while getting
> ready for a release.)
Great!
>> BTW, I posted (unimportant) patches to
>> <https://lists.gnu.org/archive/html/gash-devel/2019-06/threads.html>.)
>
> I was not subscribed to gash-devel! :P I was an admin, but that
> doesn’t mean I was subscribed. Sorry!
>
> I noticed the install path patch that you added to the Guix package, so
> it’s already fixed. So far I’ve been too busy to test on Guile 3....
Oh, I only subscribed in September 22nd...oops!
>> I suppose having a good(-enough) Awk implementation in Gash would be
>> more fruitful in the long run than reviving old C packages. Notably, I
>> think you’d rather keep Mes’ libc as small as possible IMO, because it’s
>> cumbersome to write and maintain, which means more Scheme and less C.
>> But obviously, this all depends on the difficulty of implementing the
>> missing bits of Awk.
>
> I agree this is the right way to go in the long run. I’m pretty sure
> we’ll get there, but I haven’t worked on the Awk implementation yet.
I think the parser is OK, and I also thought the Awk we needed was only
assignments and printing columns. I started with a naive AST-interpreter
that worked a bit too well but has a flawed design (I don't remember the
details). We need some good tests and probably a re-thinking and
re-implementatation of the `run-commands' and `awk-expression'
functions.
> In around one week (with the usual caveats around software estimates), I
> will make another release of Gash, at which point it will be “good
> enough” for the bootstrapping task. After that, I plan to turn my
> attention to the other utilities. There’s a lot of administrative work
> and cleaning to do there, so it will take some time to get a release
> out. Once that happens I’ll move on to removing some intermediate
> bootstrapping packages like early versions of Gawk, etc.
Great!
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:[~2019-12-01 16:57 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-26 16:38 [bug#38390] [core-updates] Scheme-only bootstrap: merge wip-bootstrap Jan Nieuwenhuizen
2019-12-01 14:01 ` Ludovic Courtès
2019-12-01 16:25 ` Timothy Sample
2019-12-01 16:55 ` Jan Nieuwenhuizen [this message]
2019-12-01 17:14 ` Ludovic Courtès
2019-12-01 17:21 ` Jan Nieuwenhuizen
2019-12-06 6:53 ` Jan Nieuwenhuizen
2019-12-07 22:31 ` Ludovic Courtès
2019-12-11 18:25 ` Jan Nieuwenhuizen
2019-12-15 21:33 ` Ludovic Courtès
2019-12-15 22:39 ` Timothy Sample
2019-12-15 22:45 ` Brett Gilio
2019-12-16 6:34 ` Jan Nieuwenhuizen
2019-12-16 19:28 ` Jan Nieuwenhuizen
2019-12-18 22:55 ` Jan Nieuwenhuizen
2019-12-19 11:08 ` Ludovic Courtès
2020-02-03 17:37 ` [bug#38390] [bug #38390] Building bootstrap Gash and Gash-Utils Timothy Sample
2020-02-05 8:58 ` Ludovic Courtès
2020-02-05 14:32 ` Timothy Sample
2020-02-05 21:33 ` Ludovic Courtès
2020-02-06 22:58 ` Jan Nieuwenhuizen
2020-02-07 11:00 ` Ludovic Courtès
2020-02-08 17:33 ` Timothy Sample
2020-02-08 22:32 ` Jan Nieuwenhuizen
2020-02-10 2:23 ` Timothy Sample
2020-02-11 13:56 ` Ludovic Courtès
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=87zhgcaste.fsf@gnu.org \
--to=janneke@gnu.org \
--cc=38390@debbugs.gnu.org \
--cc=ludo@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.