From Wikipedia, the free encyclopedia
Jump to: navigation, search
SCSH (SCheme SHell)
Scsh logo.png
Developer(s) Olin Shivers
Brian Carlstrom
Martin Gasbichler
Mike Sperber
Initial release October 31st, 1994
Stable release
0.6.7 / 16 May 2006
Development status Active
Written in Scheme
Operating system Unix-like
Platform 32-bit
Size 4.2 MB
Available in English
Type Unix shell
License BSD License

Scsh is a POSIX API layered on top of the Scheme programming language in a manner to make the most of Scheme's capability for scripting. It is limited to 32-bit platforms but there is a development version against the latest scheme48 that works in 64-bit mode.[1]


Scsh includes these notable features:


#!/usr/local/bin/scsh -s

(define (executables dir)
  (with-cwd dir
    (filter file-executable? (directory-files dir #t))))
(define (writeln x) (display x) (newline))

(for-each writeln
  (append-map executables ((infix-splitter ":") (getenv "PATH"))))


The reference manual for Scsh includes a spoof Acknowledgments section[2] written by Olin Shivers. It begins

Who should I thank? My so-called "colleagues", who laugh at me behind my back, all the while becoming famous on my work? My worthless graduate students, whose computer skills appear to be limited to downloading bitmaps off of netnews? My parents, who are still waiting for me to quit "fooling around with computers," go to med school, and become a radiologist? My department chairman, a manager who gives one new insight into and sympathy for disgruntled postal workers?

and concludes with

Oh, yes, the acknowledgements. I think not. I did it. I did it all, by myself.

See also[edit]


  1. ^ Github: Scheme/SCSH
  2. ^ SCSH Acknowledgements, Reprinted in philip Greenspun's book, Database-backed Web Sites

External links[edit]