From mboxrd@z Thu Jan 1 00:00:00 1970 From: Timothy Sample Subject: [ANN] Gash 0.1 released Date: Sat, 01 Jun 2019 14:53:52 -0400 Message-ID: <878sul5e7z.fsf@ngyro.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:52152) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hX9HT-0003n9-9F for guix-devel@gnu.org; Sat, 01 Jun 2019 15:03:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hX98f-0007Cg-Ur for guix-devel@gnu.org; Sat, 01 Jun 2019 14:53:59 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: gash-devel@nongnu.org, guix-devel@gnu.org, guile-user@gnu.org 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 =3D=3D=3D=3D=3D 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 =3D=3D=3D=3D=3D=3D=3D=3D 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 =3D=3D=3D=3D=3D=3D=3D=3D Features of the shell =E2=80=A2 Sophisticated enough to be used to build Bash. =E2=80=A2 Has a nice colorized prompt. =E2=80=A2 Includes all of the POSIX-specified =E2=80=9Cspecial=E2=80=9D b= uilt-ins except for =E2=80=98times=E2=80=99. =E2=80=A2 Includes about half of the POSIX-specified =E2=80=9Cregular=E2= =80=9D built-ins (see =E2=80=98gash/built-ins.scm=E2=80=99 for details). Features of the programming interface =E2=80=A2 Parses Shell scripts into an AST. =E2=80=A2 Provides a rudimentary interface for writing Shell-like Scheme scripts. What=E2=80=99s next? =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Gash is ready to replace the Bash bootstrap binary in the Guix bootstrap process. I will do this shortly on the =E2=80=98core-updates=E2=80=99 bran= ch. 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 (=E2=80=9Ccoreutils&co=E2=80=9D) used in the Guix bootstrap= process. (The code for this is functional, but it needs a fair bit of polish.) Contributing =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D The primary Git repository is available on Savannah. It can be cloned from and browsed on the Web at . If you would like to help out with this project, please get in touch at . This is also where you can submit bugs! Thanks to everyone who has helped out so far! -- Tim