Scsh
Appearance
![]() | |
Original author(s) | Olin Shivers |
---|---|
Developer(s) | Brian Carlstrom Martin Gasbichler Mike Sperber |
Initial release | 31 October 1994 |
Stable release | 0.6.7
/ 16 May 2006 |
Repository | github |
Written in | Scheme 48 |
Operating system | Unix-like |
Platform | IA-32 |
Size | 4.2 MB |
Available in | English |
Type | Unix shell |
License | BSD-3-Clause |
Website | www |
Scsh(aScheme shell) is computersoftware,a type ofshellfor anoperating system.It is a Portable Operating System Interface (POSIX)application programming interface(API) layered on the programming languageScheme,in a manner to make the most of Scheme's ability forscripting.Scsh is limited to32-bitplatforms but there is a development version against the latestScheme 48that works in64-bitmode.[1]It isfree and open-source softwarereleased under theBSD-3-Clauselicense.
Features
[edit]Scsh includes these notable features:
- Librarysupport for list, character, andstringmanipulations;
- Regular expressionsmanipulation support usingscheme regular expressions,adomain-specific language(DSL), or little languages, approach to the abilities;
- Strong networking support;
- High-level support forawklike scripts, integrated into the language asmacros;
- Abstractions supportingpseudo terminals;
- Ashelllanguage, modeled usingquasi-quotation.
Example
[edit]- Print a list of all the executables available in the currentPATHto thestandard output:
#!/usr/local/bin/scsh-s
!#
(define(executablesdir)
(with-cwddir
(filterfile-executable?(directory-filesdir#t))))
(define(writelnx)(displayx)(newline))
(for-eachwriteln
(append-mapexecutables((infix-splitter":")(getenv"PATH"))))
"Acknowledgments"
[edit]The reference manual for Scsh includes a spoofAcknowledgmentssection[2]written by Olin Shivers. It starts:
- 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]References
[edit]- ^"scheme/scsh: A Unix shell embedded in scheme".GitHub.Retrieved2024-01-12.
- ^"Acknowledgements (reprinted in Philip Greenspun's book,Database-backed Web Sites) ".Philip Greenspun.Retrieved2018-12-04.