testMichel Schinz wrote:
>
> Posted-By: auto-faq 3.3 beta (Perl 5.002)
> Archive-name: unix-faq/shell/scsh-faq
> Posting-Frequency: monthly
> URL: http://diwww.epfl.ch/~schinz/scsh-faq.html
>
> Frequently Asked Questions
> **************************
>
> This is the scsh Frequently Asked Questions list, version 1.11, 1
> May 1997.
>
> This article is provided as is without any express or implied
> warranties. While every effort has been taken to ensure the accuracy of
> the information contained in this article, the maintainer assumes no
> responsibility for errors or omissions, or for damages resulting from
> the use of the information contained herein.
>
> Meta-questions
> **************
>
> This section contains questions and answers about this FAQ, its
> author(s), etc.
>
> What is the aim of this FAQ?
> ============================
>
> The aim of this FAQ is to provide some help and documentation to
> people interested in scsh, a Unix shell that uses Scheme as its
> scripting language. It is mainly aimed towards those who do not know
> much about scsh or Scheme. This explains why some questions that might
> seem trivial to the seasoned Scheme programmer are included anyway.
>
> What was changed recently in this FAQ?
> ======================================
>
> Here is a list of recent changes. The name of the person who
> suggested the change (either explicitly by sending a mail, or
> implicitly by posting in the newsgroup) is mentioned in parentheses.
>
> 1. 1996/01/25 v0.1.1 Section about licensing terms added (Paul Wilson)
>
> 2. 1996/01/29 v0.1.2 Many many changes (Brian Carlstrom and Olin
> Shivers)
>
> 3. 1996/01/30 v0.1.3 Some text about 9term and wily added (Gary
> Capell)
>
> 4. 1996/01/31 v0.1.4 Minor syntactic changes (Pierre De Pascale)
>
> 5. 1996/01/31 v0.1.5 More information about how to contribute code
> (Olin Shivers)
>
> 6. 1996/02/05 v0.1.6 Section about memory problems added (Brian
> Carlstrom)
>
> 7. 1996/02/22 v0.1.7 RFV for comp.lang.scheme.scsh included
>
> 8. 1996/02/26 v0.1.8 Expiration date of RFV added.
>
> 9. 1996/03/05 v0.1.9 Newsgroup section updated for the new
> comp.lang.scheme.scsh
>
> 10. 1996/04/15 v0.1.10 Paragraph about Shriram Krishnamurthi's notes
> added (Shriram Krishnamurthi)
>
> 11. 1996/04/16 v0.1.11 Section about 64-bit ports updated, and
> reference to Scott Draves' markup system added (Olin Shivers)
>
> 12. 1996/05/06 v0.1.12 Section about networking code bug with Solaris
> and Irix added (Glenn Barry)
>
> 13. 1996/06/03 v1.0 Section about the incompatibilities between scsh
> and R4RS added; section about the module system added; some
> revamping; version bumped to 1.0 to celebrate our entry in the
> *.answers groups.
>
> 14. 1996/06/06 v1.01 Some more revamping.
>
> 15. 1996/06/14 v1.02 URL for Olin's home-page updated (Olin Shivers).
>
> 16. 1996/06/17 v1.03 Small syntax error corrected (Geoffrey S. Knauth).
>
> 17. 1996/06/19 v1.04 More syntax errors corrected (Yiorgos
> Adamopoulos).
>
> 18. 1996/08/26 v1.05 Another batch of syntax errors corrected, Evelyn
> Mitchell mentioned as working on the reference card (Evelyn
> Mitchell). Mention to RScheme added.
>
> 19. 1996/10/28 v1.06 Reference to the texinfo version of the R4RS
> added.
>
> 20. 1996/11/04 v1.07 FAQ updated for scsh 0.4.4.
>
> 21. 1996/11/15 v1.08 Mention to Mzscheme added, section about porting
> scsh updated (Steven Jenkins and Brian Carlstrom).
>
> 22. 1996/11/22 v1.09 Location of Scheme 48 v0.46 added (Richard
> Kelsey).
>
> 23. 1997/04/29 v1.10 FAQ updated for scsh 0.5.0.
>
> 24. 1997/05/01 v1.11 Section about contributing code updated (Olin
> Shivers), clarification about licensing terms added (Richard
> Kelsey), all URLs checked.
>
> Where do I get the latest version of this FAQ?
> ==============================================
>
> The latest version of the FAQ can be found at the "scsh FAQ
> home-page":
> http://diwww.epfl.ch/~schinz/scsh-faq.html
>
> This home-page contains three versions of this FAQ: an ASCII
> version, an HTML version and an Info version. If you have access to
> the Web, I strongly recommend that you get the HTML version, since all
> the hyperlinks can be followed just by clicking on them.
>
> Please notice that this home-page's location may change in the (near)
> future.
>
> Apart from that, this document is posted on the 13th of each month in
> the newsgroups `comp.lang.scheme.scsh', `comp.lang.scheme',
> `comp.unix.shell', `comp.answers' and `news.answers'.
>
> Where do I send comments about this FAQ?
> ========================================
>
> Comments about this FAQ should be sent to the following address:
> <Michel.Schinz@di.epfl.ch>. Please include the words `scsh FAQ' in the
> subject to help me sort your mail.
>
> Please help me in producing a useful document by sending me
> suggestions and material for this FAQ. What I would especially like is
> finding someone with a good knowledge of English who could fix all the
> typos and grammatical errors that certainly lie in this document.
> (English is not my mother tongue, as you have guessed.)
>
> General
> *******
>
> This section contains general questions about scsh: what is it,
> where to find it, etc.
>
> What is scsh?
> =============
>
> Scsh is a Scheme shell. That is, it is a Unix shell which uses
> Scheme as its scripting language. It was designed and written by Olin
> Shivers and Brian Carlstrom, and is built on top of Scheme 48, an
> implementation of Scheme written by Jonathan Rees and Richard Kelsey.
>
> Scsh currently includes the following features:
>
> - A complete Posix interface.
>
> - A very complete support for networking, with high and low level
> interfaces. An additional network package, including an HTTP
> server, SMTP support, etc. is also available separately.
>
> - Powerful string manipulation functions: pattern matching, file-name
> manipulations, etc.
>
> - AWK-like macros.
>
> However, it is currently aimed primarily at scripting use, rather
> than interactive use (*Note Interactive scsh::).
>
> How do you pronounce scsh?
> ==========================
>
> According to Olin, scsh is pronounced "skishhhh" (it rhymes with
> "fish").
>
> What is the current version of scsh?
> ====================================
>
> The current version (as of 1 May 1997) is 0.5.
>
> What are the licensing terms for scsh?
> ======================================
>
> Scsh is *not* distributed according to the GPL (General Public
> License) or some other well known license. Here are the exact terms,
> which can be found in the file `COPYING':
>
> Copyright (C) 1993, 1994 by Richard Kelsey and Jonathan Rees.
> Copyright (C) 1994, 1995 by Olin Shivers and Brian D. Carlstrom.
>
> Use of this program for non-commercial purposes is permitted
> provided that such use is acknowledged both in the software itself
> and in accompanying documentation.
>
> Use of this program for commercial purposes is also permitted, but
> only if, in addition to the acknowledgment required for
> non-commercial users, written notification of such use is provided
> by the commercial user to the authors prior to the fabrication and
> distribution of the resulting software.
>
> This software is provided "as is" without express or implied
> warranty.
>
> The following little clarification about the term `commercial use'
> was provided by Richard Kelsey (co-author of Scheme 48):
> My understanding is that `commercial use' means selling something
> of which Scheme 48 is a part, either as source code or as an
> executable. The source itself is covered by the copyright; if you
> use part of our source code you need to include our copyright
> notice. If you use part of the source code in a product you need
> to include the copyright notice and send us a note.
>
> What is Scheme?
> ===============
>
> Scheme is a small and elegant programming language of the Lisp
> family, originally designed by Guy Lewis Steele Jr. and Gerald Jay
> Sussman. It includes powerful features like first-class procedures and
> continuations, and is statically scoped (like Pascal). For more
> information, refer to the Scheme FAQ (*Note Getting the docs::).
>
> What is Scheme 48?
> ==================
>
> Scheme 48 is a small and portable Scheme implementation written by
> Jonathan Rees and Richard Kelsey. It is based on a virtual machine
> architecture (i.e. it does not compile to native code).
>
> Scheme 48 implements all the features described in R4RS (*Note
> Getting the docs::) as well as new features from the forthcoming R5RS,
> and some extensions like exceptions and a module system.
>
> How does scsh compare to other scripting languages, like Perl?
> ==============================================================
>
> It is always hard to compare programming languages objectively.
> However, here are the main differences between scsh and its "rivals"
> (both positive and negative differences are included):
>
> - Scsh is based on a well-designed and general programming language
> (Scheme) that has been developed over many years. Thus, scsh is a
> general programming tool, not a quickly hacked tool with limited
> applications.
>
> Among other things, Scheme (and thus scsh) has serious data
> structures, not just strings like many scripting languages. It
> also has powerful control structures like continuations and, in
> the case of Scheme 48, exceptions.
>
> - The interface to Unix functions has been well designed: the names
> are consistent, and their behavior is "Scheme-like". For example,
> system calls do not use the `errno' global variables to signal
> errors, but raise exceptions instead.
>
> This approach is fundamentally different from, say, the Perl
> approach, where functions have the same name (often cryptic) and
> behavior (often strange) as their Unix equivalents.
>
> - Scsh is somewhat slow, especially on startup. The new static linker
> (introduced with v0.4.3) can however be used to solve the
> slow-startup problem, at the expense of higher disk consumption.
>
> Where can I get scsh?
> =====================
>
> The latest version of scsh should be available at the following
> locations:
> ftp://ftp-swiss.ai.mit.edu/pub/su/scsh/scsh.tar.gz
> http://www.cs.indiana.edu/scheme-repository/
>
> The official scsh home-page is located at:
> http://www-swiss.ai.mit.edu/scsh/
>
> Where can I find documentation about scsh?
> ==========================================
>
> The main documentation about scsh is the scsh manual. It is
> included in the distribution: the ready-to-print PostScript is in
> `doc/scsh-manual.ps' and the LaTeX source in `doc/scsh-manual'.
> Moreover, a copy of the PostScript file is available at:
> ftp://ftp-swiss.ai.mit.edu/pub/su/scsh/scsh-manual.ps
>
> You may also want to take a look at the technical report describing
> the design of scsh. It is also included in the distribution
> (`doc/scsh-paper.ps'), and a copy can be found at:
> ftp://ftp-swiss.ai.mit.edu/pub/su/scsh/scsh-paper.ps
>
> Shriram Krishnamurthi <shriram@cs.rice.edu> also wrote some notes
> about using scsh, and especially the HTTP server that may be worth
> reading. These notes can be found at:
> http://www.cs.rice.edu/~shriram/Notes/Scsh/
>
> The documentation about Scheme 48 is also worth reading. The user's
> guide is in the file `doc/user-guide.txt' and the documentation about
> the module system in `doc/module.ps'.
>
> Also, since scsh is written on top of a Scheme system, you have
> access to the great power of Scheme. However, no Scheme documentation
> is available with scsh, so you may wish to obtain the standard Scheme
> references as well. Here are some useful pointers:
>
> - The Scheme FAQ is maintained by Mark Kantrowitz and Barry Margolin
> and is available at:
> `http://www.cs.cmu.edu/Web/Groups/AI/html/faqs/
> lang/scheme/top.html'.
> It is also posted regularly in the newsgroups `comp.lang.scheme',
> `comp.answers' and `news.answers'.
>
> - The Scheme home-page is located at:
> http://www-swiss.ai.mit.edu/scheme-home.html
>
> - The official specification for Scheme is "The Revised^4 Report on
> the Algorithmic Language Scheme", often abbreviated R4RS. This is
> the document you should use to look up details about Scheme. The
> PostScript version is available at:
> http://www-swiss.ai.mit.edu/ftpdir/scheme-reports/r4rs.ps
> Aubrey Jaffer produced an HTML version of this document, available
> at:
> http://swissnet.ai.mit.edu/~jaffer/r4rs_toc.html
> his version is also available as a texinfo file, which enables you
> to view it directly in Emacs. This version can be found at the
> CMU Scheme repository (*Note Scsh code archive::) in
> `doc/standard/rnrs/r4rs/r4rstexi.tgz'.
>
> - An article describing the extensions to be included in the future
> report on Scheme (R5RS) is available in `doc/meeting.ps'. This
> article describes, among other things, multiple return values,
> which are used by some of scsh's functions.
>
> - There are many good books about Scheme, for example: "Structure and
> Interpretation of Computer Programs" by Harold Abelson and Gerald
> Jay Sussman, MIT Press, 1985 or "Scheme and the Art of
> Programming" by George Springer and Daniel P. Friedman, MIT Press,
> 1989. For more references, see the Scheme FAQ.
>
> - The Scheme 48 home-page is located at
> http://www-swiss.ai.mit.edu/~jar/s48.html
> It contains useful information about Scheme 48, including papers
> describing its implementation.
>
> The home-pages of the various people involved in the design of
> Scheme, Scheme 48 or scsh may also be of interest to you. Here are
> some links:
>
> - Gerald Jay Sussman:
> http://www-swiss.ai.mit.edu/~gjs/gjs.html
>
> - Jonathan A. Rees:
> http://www-swiss.ai.mit.edu/~jar/jar.html
>
> - Richard Kelsey:
> http://www.neci.nj.nec.com/homepages/kelsey.html
>
> - Olin Shivers:
> http://www.ai.mit.edu/people/shivers/
>
> - Brian D. Carlstrom:
> http://www-swiss.ai.mit.edu/~bdc/
>
> Is there some kind of reference card for scsh?
> ==============================================
>
> Not exactly. There is a small list of all of scsh's functions in the
> file `doc/cheat.txt'. However, it would be great to have a nice
> TeXified reference card, which would include R4RS functions as well
> (you know, something like the great Perl reference card).
>
> Evelyn Mitchell has recently started working on a scsh reference
> card. If you have ideas about items to include in it, general comments
> or want to help her, feel free to contact her at: <efm@tummy.com>.
>
> Which newsgroups and mailing-lists are related to scsh?
> =======================================================
>
> Currently, there is a mailing-list and a newsgroup which are
> completely equivalent.
>
> The newsgroup used to be `alt.lang.scheme.scsh', but this has now
> been replaced by `comp.lang.scheme.scsh'. Please don't use the old alt
> group, even if it still exists at your site.
>
> To (un)subscribe to the mailing-list, send a message to
> <scsh-request@martigny.ai.mit.edu>. To submit a messages to the
> mailing-list, send it to <scsh@martigny.ai.mit.edu>.
>
> Also, `comp.lang.scheme', which talks about Scheme in general, may
> be of interest to you.
>
> And if Scheme is your first functional language, you might also want
> to read `comp.lang.functional'.
>
> Does scsh run on my system?
> ===========================
>
> Currently, scsh runs without modification on the following systems:
> DEC Ultrix, Harris CXUX, HP-UX, IBM AIX, Linux, FreeBSD, NetBSD,
> NeXTSTEP, SGI IRIX, Solaris, and SunOS. It should also run without too
> many changes on other 32 bits UNIX platforms (for 64 bits platforms like
> Digital Unix, *Note Porting scsh::)
>
> Is scsh easy to port?
> =====================
>
> On 32 bits machines, yes, usually. If your system isn't already
> supported, take a look at the file `doc/install.txt' which contains
> porting instructions.
>
> Porting scsh to 64 bits machines (or, more generally, non-32 bits
> machines) is currently harder. The main reason is that this requires
> modifications to the Scheme 48 virtual machine (VM). This VM is written
> in PreScheme, a dialect of Scheme, and the PreScheme compiler isn't
> distributed with scsh. It is, however, included in the Scheme 48 v0.46
> distribution, available at:
> ftp://ftp.nj.nec.com/pub/kelsey/scheme48-0.46.tgz
>
> In any case, never try to hack the C code generated by the PreScheme
> compiler (file `scheme48vm.c'), this is ugly and you'll have to restart
> from scratch for the next release of Scheme 48.
>
> However, you should notice that the next public release of Scheme 48
> should be more 64-bits-friendly.
>
> Apart from the problems with the Scheme 48 VM, there are also some
> problems with scsh: the current version contains C code that assumes
> 32-bitness. This occurs mainly in the foreign-function interfaces (that
> is, interface between Scheme and C), where integers are converted
> between their Scheme and C representation.
>
> Can I run scsh under some other Scheme implementation?
> ======================================================
>
> Currently, scsh is tightly bound to Scheme 48 because it uses two
> non-standard features of Scheme 48: its module system and its foreign
> function interface. This does not mean that porting it to another Scheme
> implementation is impossible, but it is certainly hard.
>
> Many alternatives to Scheme 48 would exist, but two of them are worth
> mentioning:
> 1. RScheme. RScheme, developed at the University of Texas, Austin,
> also has a module system (apparently similar to Scheme 48's
> system) and a foreign function interface (FFI). Moreover,
> RScheme's embryonic documentation says: "[...] we may port full
> scsh to RScheme". Wait and see. For more information on RScheme,
> see:
> http://www.rosette.com/~donovan/rs/rscheme.html
>
> 2. Mzscheme. Mzscheme, developed at Rice University, also has a module
> system and an FFI. It comes with a nice programming environment,
> DrScheme, which includes an editor, a graphical stepper, debugging
> tools and more. Steven Jenkins <sjenkins@iastate.edu> has done
> some work on porting scsh to this system, and his port is reported
> to be pretty well underway. You may want to contact him to get
> more information. For more information on Mzscheme, see:
> http://www.cs.rice.edu/CS/PLT/packages/mzscheme/index.html
>
> Installing and using scsh
> *************************
>
> Now that you have downloaded scsh, you might want to install and use
> it. Some help about this subject is provided here.
>
> It looks like I do not have enough memory to compile scsh?!?
> ============================================================
>
> If you get errors like "not enough memory" when building scsh, you
> may try to adjust the limits on memory usage imposed by your system. To
> do this, you have to use the `ulimit' command under `sh' and
> derivatives or the `unlimit' command under `csh' and derivatives
> (`tcsh' and the like). See the reference manual of your shell for more
> information.
>
> Is there some kind of "contributed code archive" for scsh?
> ==========================================================
>
> The following two sites may be of interest to you:
>
> 1. The contributed code directory for scsh, which is located at
> ftp://ftp-swiss.ai.mit.edu/pub/scsh/contrib/
> Currently, this directory contains only Olin's networking code, the
> Functional PostScript package and Scott Draves and Jonathan Rees'
> markup system. So please go on, and send more code.
>
> 2. The various Scheme code repositories, which are all listed in the
> Scheme FAQ. The two main repositories are the Scheme Repository at
> Indiana University:
> http://www.cs.indiana.edu/scheme-repository/home.html
> and the CMU AI Repository, Scheme Section (a.k.a. the CMU Scheme
> Repository):
> http://www.cs.cmu.edu/Web/Groups/AI/html/repository.html
>
> Also, some useful code is included with Scheme 48 (hash tables
> support, sorting functions, etc.) in the Big Scheme module. Please
> notice that you will have to open the module before being able to
> access its functions. For additional information, check the file
> `doc/big-scheme.txt' in the scsh distribution.
>
> If you want to contribute some code, you should send it directly to
> Olin Shivers <shivers@ai.mit.edu>. You can send an URL or an uuencoded
> tar file.
>
> If you want to write some code for scsh but you don't know what, you
> might want to take a look at the scsh home-page (*Note Getting scsh::)
> which contains a list of interesting projects.
>
> Can I use "plain" Scheme code with scsh?
> ========================================
>
> Generally speaking, all of the existing Scheme code can be run
> without problem with scsh. There is only *one* possibly annoying
> incompatibility between R4RS-compliant interpreters and scsh: Symbols in
> scsh are case-sensitive while this is not true for R4RS-compliant
> interpreters. This means, for example, that the following expression:
>
> (eq? 'symbol 'Symbol)
>
> evaluates to `#t' with an R4RS-compliant interpreter (including the
> original Scheme 48), while it evaluates to `#f' with scsh.
>
> In practice this shouldn't be a big problem, but if you encounter
> code that works perfectly with all Scheme interpreters except scsh, then
> this may be the reason.
>
> If you want to know the design decision behind this choice, you
> should read the technical report describing the design of scsh (*Note
> Getting the docs::).
>
> There are also other extensions to R4RS in scsh (e.g. C-like escaped
> characters in strings) but they shouldn't break existing Scheme code;
> you should have them in mind, however, when trying to write portable
> Scheme code under scsh.
>
> Can I use scsh as an interactive shell?
> =======================================
>
> Well, technically you can: just run the "scsh" command and you will
> enter a Scheme 48 session with all scsh functions available. However,
> this is definitely not suitable for interactive work: there is no
> command-line editing, no command-line history, no file/function name
> completion, no terse syntax, etc. All these features are planned, and
> Olin has a design for much of them. However, nobody found the time to
> implement them yet.
>
> In the meantime, a nice solution is to use a separate tool which
> provides some of these features. Here is a partial list of such tools:
>
> 1. Emacs: use the `cmuscheme' package, written by Olin. It is now
> part of Emacs, but if you don't have it on your system, you may
> use the one provided with scsh, which is also a little more
> up-to-date (check the directory `emacs'). This mode enables you to
> run scsh (or any Scheme interpreter by the way) as an inferior
> process. It provides command-line editing, command-line history,
> dynamic completion, file-name completion, automatic indentation of
> Scheme code and more.
>
> If you want to give it a try right now, just type `C-u M-x
> run-scheme', and then enter `scsh' at the prompt.
>
> 2. Some terminal emulator that enables input (or output) editing. An
> example is the 9term terminal emulator, inspired by the Plan 9
> terminal emulator. Check out 9term's home-page at:
> http://www.cs.su.oz.au/~matty/9term/index.html
>
> 3. Any text editor that can run a process in one of its windows. An
> example is wily (although it is more than a text editor), inspired
> by Plan 9's ACME tool. For more information:
> http://www.cs.su.oz.au/~gary/wily/
>
> I get "undefined variable" errors when I try to use some functions?!?
> =====================================================================
>
> If you get "undefined variable" errors when you use functions from
> the big-scheme package or macros like `define-record', then maybe you
> didn't open the appropriate packages. To open them, there are two
> solutions:
>
> 1. use the `,open' command in interactive mode, or
>
> 2. use Scheme 48's module system.
>
> The first solution is nice for interactive work, while the second is
> the one to use for scripts.
>
> The documentation on Scheme 48 module system can be found in the file
> `doc/module.ps'.
>
> Some basic IO functions (like EOF testing) seem not available in scsh?!?
> ========================================================================
>
> Don't forget that scsh is built on top of Scheme. Therefore, you have
> access to the full power of Scheme in scsh, and that includes some basic
> IO functions, like the test for EOF, etc. However, these functions are
> not documented in the scsh manual, but in the official Scheme
> specification (R4RS, *Note Getting the docs::).
>
> How can I return the eof-object?
> ================================
>
> Some functions and macros (like the nice AWK macro) take a reader
> function as an argument. This reader function is required to return the
> eof-object at the end of the input. This is easy when the input is a
> port, but much harder when the input is something else (like a list of
> lines, etc.). The reason is that R4RS specifies that the eof-object
> can't be read by the `read' procedure, and therefore can't be included
> literally in your source. However, it can be defined like that:
>
> (define eof-object (read (make-string-input-port "")))
>
> Is there support for protocols like HTTP, SMTP, etc.?
> =====================================================
>
> Yes, but it isn't included in the scsh distribution. You will find
> it in the contributed code directory for scsh:
> ftp://ftp-swiss.ai.mit.edu/pub/scsh/contrib/net/
>
> I get strange errors with some network functions?!?
> ===================================================
>
> If you are using scsh 0.4.2 under Solaris 2 or Irix 5, and the errors
> you get look like:
>
> Error: 122
> "Operation not supported on transport endpoint"
> #{Procedure 9398 %listen}
>
> then you should switch to a newer version of scsh: this was a known bug
> of scsh 0.4.2.
>
> If, for some reason, you want to stick with v0.4.2, here is how to
> fix the bug:
>
> In scsh's distribution directory, edit the file
> `scsh/solaris/netconst.scm' (if you are under Solaris 2 and above) or
> `scsh/irix/netconst.scm' (if you are under Irix 5 and above) so that
> the following lines:
>
> (define socket-type/stream 1) ; stream socket
> (define socket-type/datagram 2) ; datagram socket
> (define socket-type/raw 3) ; raw-protocol interface
> ;;(define socket-type/rdm 4) ; reliably-delivered message
> ;;(define socket-type/seqpacket 5) ; sequenced packet stream
>
> are replaced by the following lines:
>
> (define socket-type/stream 2) ; stream socket
> (define socket-type/datagram 1) ; datagram socket
> (define socket-type/raw 4) ; raw-protocol interface
> ;;(define socket-type/rdm 5) ; reliably-delivered message
> ;;(define socket-type/seqpacket 6) ; sequenced packet stream
>
> then recompile scsh, by running make in the main directory, and
> reinstall it.
>
> How do I get the multiple values returned by a function?
> ========================================================
>
> This is documented in the file `doc/meeting.ps' (this is *not*
> documented in the R4RS). However, with all these continuations, the
> documentation might be a little hard to understand for newcomers. So
> here is a little (although not very useful) example that uses `values'
> and `call-with-values':
>
> (call-with-values (lambda () (values 6 7)) *)
> => 42
>
> As you can see, the first argument to `call-with-values' is a
> procedure which return multiple values, and the second is a procedure
> which gets these multiple values as arguments.
>
> Scheme 48 provides another syntax to access multiple values: the
> `receive' macro. This macro binds multiple values returned by an
> expression to variables, and then evaluates a sequence of expressions
> with these bindings active (for Common Lisp fans, this is similar to
> `multiple-value-bind'). Here is the above example, rewritten using
> `receive':
>
> (receive (x y)
|