[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ANN] Gash 0.2.0 released
From: |
Timothy Sample |
Subject: |
[ANN] Gash 0.2.0 released |
Date: |
Sun, 15 Dec 2019 22:20:52 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
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
<address@hidden>. This is also where you can submit bugs!
Thanks to everyone who has helped out so far!
-- Tim
- [ANN] Gash 0.2.0 released,
Timothy Sample <=