Contents

    1  Introduction

    2  Unix shells

    3  Process notation
        3.1  Extended process forms and i/o redirections
        3.2  Process forms
        3.3  Using extended process forms in Scheme
        3.4  Procedures and special forms
        3.5  Interfacing process output to Scheme

    4  System calls

    5  The Tao of Scheme and Unix

    6  I/O

    7  Lexical issues

    8  Implementation

    9  Size

    10  Systems programming in Scheme
        10.1  Exceptions and robust error handling
        10.2  Automatic storage management
        10.3  Return values and procedural composition
        10.4  Strings
        10.5  Higher-order procedures
        10.6  S-expression syntax and backquote
            Recursive embeddings and balls of mud
            Backquote and reliable argument lists

    11  Other programming languages
        11.1  Functional languages
        11.2  Shells
            Escaping the least common denominator trap
            Computation granularity and impedance matching
        11.3  New-generation scripting languages

    12  Future work
        12.1  Command language features
        12.2  Little languages

    13  Conclusion

    14  Acknowledgements

    References

    Notes
        {Note Agenda}
        {Note No port sync}
        {Note Normal order}
        {Note On-line streams}
        {Note Tempfile example}