Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a403c5b8d80dd04f

Jump to content

Scsh

From Wikipedia, the free encyclopedia
Scsh
Original authorOlin Shivers
DevelopersBrian Carlstrom
Martin Gasbichler
Mike Sperber
Release31 October 1994; 31 years ago (1994-10-31)
Stable release
0.6.7 / 16 May 2006; 20 years ago (2006-05-16)
Written inScheme 48
Operating systemUnix-like
PlatformIA-32
Size4.2 MB
Available inEnglish
TypeUnix shell
LicenseBSD-3-Clause
Websitewww.scsh.net
Repositorygithub.com/scheme/scsh

Scsh (a Scheme shell) is command-line shell derived from Scheme 48, an implementation of the Scheme programming language. It turns common POSIX shell features (string processing, file-name matching, input/output redirection, etc.) into a Scheme application programming interface in a manner to make the most of Scheme's ability for scripting. It is free and open-source software released under the BSD-3-Clause license.

Scsh, in its original form (a Scheme 48 fork), is limited to 32-bit platforms. There is a development version in the form of a Scheme 48 library that works in 64-bit mode.[1]

Features

[edit]

Scsh includes these notable features:

Example

[edit]
  • Translation of the shell pipeline gunzip < paper.tex.gz | detex | spell | lpr -Ppulp &:[2]
(& (| (gunzip) (detex) (spell) (lpr -Ppulp)) ; background a pipeline 
    (< paper.tex.gz))                         ; with this redirection
#!/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"))))

"Acknowledgments"

[edit]

The reference manual for Scsh includes a spoof Acknowledgments section[3] 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]
  1. ↑ "scheme/scsh: A Unix shell embedded in scheme". GitHub. Retrieved 2024-01-12.
  2. ↑ "A Description of Scsh". scsh.net.
  3. ↑ "Acknowledgements (reprinted in Philip Greenspun's book, Database-backed Web Sites)". Philip Greenspun. Retrieved 2018-12-04.
[edit]