guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] Gash 0.1 released


From: Timothy Sample
Subject: [ANN] Gash 0.1 released
Date: Sat, 01 Jun 2019 14:53:52 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)

Hi all,

I am very pleased to announce that Gash version 0.1 has been released.
This is the very first release, but it represents 569 commits from three
authors over the course of three years.

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.1 from

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

and verify its authenticity with its signature file

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

If you are running Guix, Gash 0.1 is available as a package as of commit
2ccc9d692aed72dab614ab684341ca76466eafdf.

Features
========

Features of the shell

  • Sophisticated enough to be used to build Bash.
  • Has a nice colorized prompt.
  • Includes all of the POSIX-specified “special” built-ins except for
    ‘times’.
  • Includes about half of the POSIX-specified “regular” built-ins
    (see ‘gash/built-ins.scm’ for details).

Features of the programming interface

  • Parses Shell scripts into an AST.
  • Provides a rudimentary interface for writing Shell-like Scheme
    scripts.

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

Gash is ready to replace the Bash bootstrap binary in the Guix bootstrap
process.  I will do this shortly on the ‘core-updates’ branch.

There are a handful of missing features from POSIX that need to be
implemented.

A shell compiler for Guile along with a language specification.

The release of a sibling project which contains Scheme versions of the
other utilities (“coreutils&co”) used in the Guix bootstrap process.
(The code for this is functional, but it needs a fair bit of polish.)

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]