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
next 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).