unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
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

  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

  List information: https://guix.gnu.org/

* 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 public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).