unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Timothy Sample <samplet@ngyro.com>
To: gash-devel@nongnu.org, guix-devel@gnu.org, guile-user@gnu.org
Subject: [ANN] Gash 0.2.0 released
Date: Sun, 15 Dec 2019 22:20:52 -0500	[thread overview]
Message-ID: <87tv61gdm3.fsf@ngyro.com> (raw)

Hi everybody,

I am very pleased to announce that Gash version 0.2.0 has been released.
It represents 58 commits from two authors over the course of about six
months.

About
=====

Gash is a POSIX-compatible shell written in Guile Scheme.  It provides
both the shell interface, as well as a Guile library for parsing shell
scripts.  Gash is designed to bootstrap Bash as part of the Guix
bootstrap process.  We are planning to develop Gash into a
general-purpose shell and tool for building interfaces between Scheme
and the shell.

Download
========

You can download Gash 0.2.0 from

  http://download.savannah.nongnu.org/releases/gash/gash-0.2.0.tar.gz

and verify its authenticity with its signature file

  http://download.savannah.nongnu.org/releases/gash/gash-0.2.0.tar.gz.sig

News
====

The big news for this release is that Gash can now replace Bash in
building all of the packages used in Guix’s “Reduced Binary Seed
Bootstrap” <http://joyofsource.com/reduced-binary-seed-bootstrap.html>.
Whereas the previous release could build Bash itself, this release can
build everything from Mes to GCC and then build Bash.

To do so, Gash needed many improvements.  Here are a few highlights.

  • Pattern-based and asserting variable operators (‘#’, ‘##’, ‘%’,
    ‘%%’, and ‘?’) are now supported.
  • The ‘read’ special built-in now supports field splitting and
    logical lines.
  • Temporary variable assignments are now passed into function calls
    and invocations of regular built-ins.
  • Pathname expansion now works for absolute paths, paths with quoted
    slashes, paths with repeated slashes, and paths with dot and
    dot-dot components.

There are also some significant fixes in resource handling and parsing,
and a handful of other improvements.  Please see the NEWS file for
details.

What’s next?
============

The next big thing for the Gash project will be the release of a sibling
project which contains Scheme versions of the other utilities
(“coreutils&co”) used in the Guix bootstrap process.

Beyond bootstrapping, here’s what’s in store:

  • Asynchronous commands and job control;
  • Tilde expansion;
  • Becoming a more useful interactive shell (in particular, prompting
    the user for more input if they enter a newline before completing a
    command); and
  • A shell compiler for Guile along with a language specification.

Contributing
============

The primary Git repository is available on Savannah.  It can be cloned
from <https://git.savannah.gnu.org/git/gash.git> and browsed on the Web
at <https://git.savannah.nongnu.org/cgit/gash.git>.

If you would like to help out with this project, please get in touch at
<gash-devel@nongnu.org>.  This is also where you can submit bugs!


Thanks to everyone who has helped out so far!


-- Tim



             reply	other threads:[~2019-12-16  3:20 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-16  3:20 Timothy Sample [this message]
2019-12-19 16:52 ` [ANN] Gash 0.2.0 released 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://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87tv61gdm3.fsf@ngyro.com \
    --to=samplet@ngyro.com \
    --cc=gash-devel@nongnu.org \
    --cc=guile-user@gnu.org \
    --cc=guix-devel@gnu.org \
    /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.
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).