Go to file
Jan Nieuwenhuizen 904eecbb2c Expose all bournish commands as external command.
* bin/builtin.in: New file.
* bin/tar.in: Remove.
* configure: Generate bin/<builtin> for all bournish-commands.
* build-aux/build-guile.sh: Compile them.
* .gitignore: Ignore them.
2018-10-27 11:31:22 +02:00
bin Expose all bournish commands as external command. 2018-10-27 11:31:22 +02:00
build-aux Expose all bournish commands as external command. 2018-10-27 11:31:22 +02:00
doc doc: Add skeleton. 2018-07-10 00:11:50 +02:00
gash Make tar a bournish-command. 2018-10-27 11:31:22 +02:00
test gash: resurrect. 2018-10-21 15:24:24 +02:00
todo guix: resurrect package build. 2018-07-10 00:11:24 +02:00
.dir-locals.el Geiser support. 2018-07-04 20:11:26 +02:00
.gitignore Expose all bournish commands as external command. 2018-10-27 11:31:22 +02:00
AUTHORS Import bournish commands from GNU Guix. 2018-07-04 20:03:11 +02:00
COPYING Add GPL. 2017-12-07 23:07:27 +01:00
INSTALL geesh: initial integration. 2018-10-21 12:45:51 +02:00
README complete rename from anguish to gash 2017-12-07 23:07:31 +01:00
TODO WIP: marginal 2018-07-14 12:34:42 +02:00
configure Expose all bournish commands as external command. 2018-10-27 11:31:22 +02:00
guix.scm doc: Add skeleton. 2018-07-10 00:11:50 +02:00
makefile bournish: Add tar, from Guile100 challenge by Mark Weaver. 2018-10-27 11:30:45 +02:00
sh.bnf PEG shell grammar. 2017-12-07 23:07:27 +01:00
stack.scm function name WIP 2017-12-07 23:07:28 +01:00
test.sh gash: resurrect. 2018-10-21 15:24:24 +02: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