Go to file
Timothy Sample 1bd92e2893 Remove (almost) all references to Geesh.
gash/environment.scm: Remove file.
geesh/*: Move these files into the 'gash' folder and replace all
instances of the word 'geesh'.
scripts/geesh.in: Remove file.
HACKING, INSTALL, Makefile.am, configure.ac, guix.scm,
tests/bootstrap/bash-without-bash.scm, tests/spec/Makefile.am,
tests/spec/check-spec, tests/spec/oil.scm, tests/unit/*,
tools/coverage.in: Replace all instances of the word 'geesh'.

Co-authored-by: Jan Nieuwenhuizen <janneke@gnu.org>
2019-05-20 01:17:40 -04:00
bin Move bin/gash to scripts. 2019-01-12 11:42:35 -05:00
build-aux Build Gash with Autotools. 2019-05-16 10:49:16 -04:00
doc Merge branch 'gash' 2018-12-13 13:42:21 -05:00
gash Remove (almost) all references to Geesh. 2019-05-20 01:17:40 -04:00
scripts Remove (almost) all references to Geesh. 2019-05-20 01:17:40 -04:00
tests Remove (almost) all references to Geesh. 2019-05-20 01:17:40 -04:00
todo guix: resurrect package build. 2018-07-10 00:11:24 +02:00
tools Remove (almost) all references to Geesh. 2019-05-20 01:17:40 -04:00
.dir-locals.el Merge branch 'gash' 2018-12-13 13:42:21 -05:00
.gitignore Replace geesh script with gash. 2019-05-20 01:17:14 -04:00
07-variable-or-slash.stdout test: add failing 07-variable-or-slash.sh. 2018-11-10 11:55:50 +01:00
70-slash-string-slash.stdout Support ${ / / }, ${ / }. 2018-11-10 11:30:55 +01:00
AUTHORS Update AUTHORS. 2019-05-20 01:17:22 -04:00
COPYING Initial commit 2018-01-31 14:52:05 -05:00
HACKING Remove (almost) all references to Geesh. 2019-05-20 01:17:40 -04:00
INSTALL Remove (almost) all references to Geesh. 2019-05-20 01:17:40 -04:00
Makefile.am Remove (almost) all references to Geesh. 2019-05-20 01:17:40 -04:00
README Initial commit 2018-01-31 14:52:05 -05:00
TODO WIP: marginal 2018-07-14 12:34:42 +02:00
bootstrap Initial commit 2018-01-31 14:52:05 -05:00
check.sh Remove special characters from test names. 2019-05-16 10:49:38 -04:00
configure.ac Remove (almost) all references to Geesh. 2019-05-20 01:17:40 -04:00
gash.guix.scm Move bin/gash to scripts. 2019-01-12 11:42:35 -05:00
guix.scm Remove (almost) all references to Geesh. 2019-05-20 01:17:40 -04:00
pre-inst-env.in Initial commit 2018-01-31 14:52:05 -05:00
sh.bnf PEG shell grammar. 2017-12-07 23:07:27 +01:00
test.sh Stabilize test suite. 2019-05-16 10:49:38 -04:00

README

This project aims to produce at least a POSIX compliant sh replacement
or even implement GNU bash.  On top of that it also intends to make
scheme available for interactive and scripting application.  The
approach also intends to allow capturing the intermediate scheme
representation of the "original" shell script to offer a migration
path away from [ba]sh. On top of this GNU make could similarly be
replaced, as make turns out to be fraught with limitations and
complexities.  One of the features I personally desire is not be
forced to keep doing what was done in the past, i.e. once an object
file is produced, it does not have to be produced again as long as the
original is kept around. The orignal must be replaced when any of its
dependencies change (source, compiler options, linker, etc.)

I feel that the shell has been instrumental on my path to embracing
functional programming, however now I mostly experience that the
language itselfs folds on functional expression, pun intended.


* history flattened vs full, i.e. navigate interactively without
  redundancy vs export as script