all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Timothy Sample <samplet@ngyro.com>
To: gash-devel@nongnu.org, guix-devel@gnu.org, guile-user@gnu.org
Subject: [ANN] Gash 0.1 released
Date: Sat, 01 Jun 2019 14:53:52 -0400	[thread overview]
Message-ID: <878sul5e7z.fsf@ngyro.com> (raw)

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
<gash-devel@nongnu.org>.  This is also where you can submit bugs!


Thanks to everyone who has helped out so far!


-- Tim

             reply	other threads:[~2019-06-01 19:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-01 18:53 Timothy Sample [this message]
2019-06-01 19:43 ` [ANN] Gash 0.1 released Jeremy Korwin-Zmijowski
2019-06-02  8:07 ` ng0
2019-06-02 16:08 ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878sul5e7z.fsf@ngyro.com \
    --to=samplet@ngyro.com \
    --cc=gash-devel@nongnu.org \
    --cc=guile-user@gnu.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.