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 <[email protected]>. This is also where you can submit bugs! Thanks to everyone who has helped out so far! -- Tim
