Usage and implementation of Reish which is an Unix shell for Rubyist
summary
Reish is a Unix shell implemented in Ruby that evaluates command names as Ruby methods and falls back to system binaries by searching PATH fallback to system binaries; pipelines become chained method calls so a pipeline like ls | wc is represented as object pipelines like ls.wc; arguments are Ruby objects (strings, symbols, wildcards) and $-prefixed names map to Ruby variables under Ruby-evaluated commands. Redirection and subshells use a custom eval behaving like instance-eval for subshells. Prototype exists and runs, but method-definition, multiple-assignment and several control-paths remain unimplemented as of 2015.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 3:19Why Reish exists
- 8:22Syntax and grammar
- 13:06Architecture overview
- 16:59Command execution flow
- 23:23Pipeline and output handling
- 26:25Status and error handling
- 30:35Current limitations
- 31:18Future plans
related talks
44mIrb 20th anniversary memorial session: Reish and Irb2
30mExploring Reline: Enhancing Command Line Usability
44mThe Ruby Guide to *nix Plumbing
34mThe Ruby Developer's Command Line Toolkit
39mPractical Unix for Ruby & Rails
42mUsing Ruby to Craft and Test Beautiful Command Line Applications
36mTechnical Background of Interactive CLI of Ruby 2.7
39mThe Ruby Developer's Command Line Toolkit
