gash-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]