Scsh

Revision as of 23:54, 12 January 2024 by imported>Asalewski (Update title for 'scheme/scsh' GitHub repo from "Scheme/Scsh" to "scheme/scsh: A Unix shell embedded in scheme"; also update the 'access-date' field value with today's date (2024-01-12).)
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Template:Short description {{#invoke:Infobox|infobox}}Template:Template other{{#invoke:Check for unknown parameters | check | showblankpositional=1 | unknown = Template:Main other | preview = Page using Template:Infobox software with unknown parameter "_VALUE_"|ignoreblank=y | AsOf | author | background | bodystyle | caption | collapsetext | collapsible | developer | discontinued | engine | engines | genre | included with | language | language count | language footnote | latest preview date | latest preview version | latest release date | latest release version | latest_preview_date | latest_preview_version | latest_release_date | latest_release_version | licence | license | logo | logo alt | logo caption | logo upright | logo size | logo title | logo_alt | logo_caption | logo_upright | logo_size | logo_title | middleware | module | name | operating system | operating_system | other_names | platform | programming language | programming_language | released | replaced_by | replaces | repo | screenshot | screenshot alt | screenshot upright | screenshot size | screenshot title | screenshot_alt | screenshot_upright | screenshot_size | screenshot_title | service_name | size | standard | title | ver layout | website | qid }}Template:Main other

Scsh (a Scheme shell) is computer software, a type of shell for an operating system. It is a Portable Operating System Interface (POSIX) application programming interface (API) layered on the programming language Scheme, in a manner to make the most of Scheme's ability for scripting. Scsh is limited to 32-bit platforms but there is a development version against the latest Scheme 48 that works in 64-bit mode.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> It is free and open-source software released under the BSD-3-Clause license.

FeaturesEdit

Scsh includes these notable features:

ExampleEdit

<syntaxhighlight lang="scheme">

  1. !/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"))))

</syntaxhighlight>

"Acknowledgments"Edit

The reference manual for Scsh includes a spoof Acknowledgments section<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> 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 alsoEdit

Template:Portal

ReferencesEdit

Template:Reflist

External linksEdit

Template:Unix shells Template:Lisp programming language

Template:Unix-stub