aboutsummaryrefslogtreecommitdiff

Clone or download

  • Download the latest version as a ZIP or tarball
  • Clone with: git clone https://elmord.org/code/lash

lash: A shell with lambda

This project is in VERY INITIAL DEVELOPMENT STAGES. It doesn't really do anything useful yet. You have been warned.

lash is an attempt to design a Unix shell better suited for programming. It will include first-class structured data types such as arrays and dictionaries, blocks/closures, the ability to return arbitrary values from functions, and a cleaner syntax by replacing many pieces of special syntax in bash and POSIX sh with function calls (e.g., ${var,,*} with $[lowercase $var]), while keeping the traditional syntax for redirects, pipelines, variables, etc. mostly unchanged.

My blog (in Portuguese) has more information on the project.

lash is free software released under the GNU GPL v2+. See the file COPYING for more information.

Installation

To compile lash, you will need CHICKEN Scheme (package chicken-bin in Debian, Ubuntu, etc.) and a bunch of eggs (CHICKEN packages), which you can install by running:

chicken-install matchable

After that, just run make in the project directory.