[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
- [ANN] Gash 0.1 released,
Timothy Sample <=