Teach Yourself Scheme in Fixnum Days

© Dorai Sitaram, 1998-9
All Rights Reserved
ds26@gte.com
Document will grow
[Download archive containing all the pages of this document]
[Download TeX source for this document]

Contents

Preface

1  Hello, World!

2  Data types
    2.1  Simple data types
        2.1.1  Booleans
        2.1.2  Numbers
        2.1.3  Characters
        2.1.4  Symbols
    2.2  Compound data types
        2.2.1  Strings
        2.2.2  Vectors
        2.2.3  Dotted pairs and lists
        2.2.4  Conversions between data types
    2.3  Other data types
    2.4  S-expressions

3  Forms
    3.1  Procedures
        3.1.1  Procedure parameters
        3.1.2  Variable number of arguments
        3.1.3  apply
    3.2  Sequencing

4  Conditionals
    4.1  when and unless
    4.2  cond
    4.3  case
    4.4  and and or

5  Lexical variables
    5.1  let and let*
    5.2  fluid-let

6  Recursion
    6.1  letrec
    6.2  Named let
    6.3  Iteration
    6.4  Mapping a procedure across a list

7  Macros
    7.1  Specifying the expansion as a template
    7.2  Avoiding variable capture inside macros
    7.3  fluid-let
    7.4  Dialect differences

8  Structures
    8.1  Default initializations
    8.2  defstruct definition

9  Alists and tables

10  I/O
    10.1  Reading
    10.2  Writing
    10.3  File ports
        10.3.1  Automatic opening and closing of file ports
    10.4  String ports
    10.5  Loading files

11  System interface
    11.1  Checking for and deleting files
    11.2  Calling operating-system commands
    11.3  Environment variables

12  Objects and classes
    12.1  A simple object system
    12.2  Classes are instances too
    12.3  Multiple inheritance

13  Jumps
    13.1  call-with-current-continuation
    13.2  Escaping continuations
    13.3  Tree matching
    13.4  Coroutines
        13.4.1  Tree-matching with coroutines

14  Nondeterminism
    14.1  Description of amb
    14.2  Implementing amb in Scheme
    14.3  Using amb in Scheme
    14.4  Logic puzzles
        14.4.1  The Kalotan puzzle
        14.4.2  Map coloring

15  Engines
    15.1  The clock
    15.2  Flat engines
    15.3  Nestable engines

16  Shell scripts
    16.1  Hello, World!, again
    16.2  Scripts with arguments
    16.3  Example

17  CGI scripts
    17.1  Example: Displaying environment variables
    17.2  Example: Displaying selected environment variable
    17.3  CGI script utilities
    17.4  A calculator via CGI

A  Scheme dialects
    A.1  Guile
    A.2  MzScheme
    A.3  SCM
    A.4  STk

B  DOS batch files in Scheme

C  References

[Go to next page]

Last modified: Mon., April 5, 1999, 4:12 p.m. US/Central