{"id":13682575,"url":"https://github.com/willghatch/racket-rash","last_synced_at":"2025-04-04T12:08:37.568Z","repository":{"id":41300908,"uuid":"65781414","full_name":"willghatch/racket-rash","owner":"willghatch","description":"The Reckless Racket Shell","archived":false,"fork":false,"pushed_at":"2024-01-29T17:20:08.000Z","size":849,"stargazers_count":555,"open_issues_count":34,"forks_count":30,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-03-28T11:08:36.198Z","etag":null,"topics":["bash","cli","language","lisp","racket","repl","shell"],"latest_commit_sha":null,"homepage":"http://rash-lang.org","language":"Racket","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/willghatch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-16T02:37:13.000Z","updated_at":"2025-03-22T18:32:36.000Z","dependencies_parsed_at":"2023-11-14T17:39:42.237Z","dependency_job_id":"a9829ee9-aeb3-47be-bbbf-0c841ae431a4","html_url":"https://github.com/willghatch/racket-rash","commit_stats":{"total_commits":676,"total_committers":12,"mean_commits":"56.333333333333336","dds":0.05769230769230771,"last_synced_commit":"feb3ad16deb0b372a05f5d522f71e1746a3f96fd"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willghatch%2Fracket-rash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willghatch%2Fracket-rash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willghatch%2Fracket-rash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willghatch%2Fracket-rash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/willghatch","download_url":"https://codeload.github.com/willghatch/racket-rash/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247174423,"owners_count":20896078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","cli","language","lisp","racket","repl","shell"],"created_at":"2024-08-02T13:01:48.862Z","updated_at":"2025-04-04T12:08:37.542Z","avatar_url":"https://github.com/willghatch.png","language":"Racket","readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"./img/rash-logo.svg\" width=\"200\"\u003e\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eRash: The Reckless Racket Shell\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://travis-ci.org/willghatch/racket-rash\"\u003e\u003cimg src=\"https://travis-ci.org/willghatch/racket-rash.svg?branch=master\"\u003e\u003c/a\u003e\n\u003ca href=\"http://docs.racket-lang.org/rash@rash/index.html\"\u003e\u003cimg src=\"https://img.shields.io/badge/Docs-Scribble-blue.svg\" alt=\"Scribble Docs\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\nRash is a shell language, library, and REPL for Racket.\n\nUse as a repl that is as convenient for pipelining programs as Bash is, but has all the power of Racket.  Use as a scripting language with `#lang rash`.  Embed in normal Racket files with `(require rash)`, and mix freely with any other Racket language or library.\n\nRash is in active development, but it is largely stable (and the parts that aren't are marked as such).  I use it as my default interactive shell on my laptop.  It currently lacks the interactive polish of Zsh or Fish, but it is *so* much better as a language.  Every script I've ported from a Bourne-related shell to Rash is more robust, simpler, easier to maintain, easier to expand, and much more fun.\n\n\n## Getting started\n\n### Prerequisites\n\nRash does work on windows, but it works better and is more useful on unix based systems.\n\nTo install, you will need a working installation of [racket](https://download.racket-lang.org/) v6.12 or later.\n\n### Installation\nYou can either install with racket's built in package manager, [`raco`](https://docs.racket-lang.org/raco/), or install directly from github.  If you have DrRacket installed, you can install rash with `File -\u003e Install Package`.\n#### via raco:\n`raco pkg install rash`\n\n#### git version:\n`git clone https://github.com/willghatch/racket-rash rash \u0026\u0026 cd rash/linea \u0026\u0026 raco pkg install \u0026\u0026 cd ../shell-pipeline \u0026\u0026 raco pkg install \u0026\u0026 cd ../rash \u0026\u0026 raco pkg install`\n\nOR\n\nuse `raco pkg install --clone rash`\n\n#### Readline\n\nThe Rash REPL currently relies on Racket's Readline FFI wrapper.  However, by default Racket uses libedit instead of libreadline for licensing reasons.  Libedit does not support unicode, so typing non-ASCII characters will result in sadness.  To use libreadline instead, run `raco pkg install readline-gpl`.  Note that the `readline-gpl` Racket package needs a `libreadline` shared library to be installed on your system, so you may need to install a libreadline package using your system package manager.  For example, on Debian-based distributions you can install by running `sudo apt install --yes libreadline-dev`.\n\n\n### Usage\n\nRun with `racket -l rash/repl --`, or with `rash-repl` if you have Racket's package `bin/` directory on your path.\n\nOnline documentation is [here](http://docs.racket-lang.org/rash@rash/index.html).  After installation, local documentation can be accessed with `raco docs rash`.\n\nThe project web site has a [quick demo video of Rash in action](https://rash-lang.org).\n\nI published [a paper about Rash in GPCE 2018](http://willghatch.net/publications/rash-gpce-2018-preprint.pdf).\n\nThis repo also contains the [shell-pipeline](https://docs.racket-lang.org/shell-pipeline/index.html) and [linea](http://docs.racket-lang.org/linea/index.html) packages.  They mostly support Rash itself, so they live in the same repo.\n\n### Talk\n\nFeel free to ask questions in issues, to join the [matrix room](https://matrix.to/#/#rash-lang:matrix.org), to email me, etc.\n","funding_links":[],"categories":["Racket"],"sub_categories":["game"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillghatch%2Fracket-rash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwillghatch%2Fracket-rash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillghatch%2Fracket-rash/lists"}