Sciweavers


Book

The Scheme Programming Language

15 years 8 days ago
The Scheme Programming Language
"Scheme is a general-purpose computer programming language. It is a high-level language, supporting operations on structured data such as strings, lists, and vectors, as well as operations on more traditional data such as numbers and characters. While Scheme is often identified with symbolic applications, its rich set of data types and flexible control structures make it a truly versatile language. Scheme has been employed to write text editors, optimizing compilers, operating systems, graphics packages, expert systems, numerical applications, financial analysis packages, virtual reality systems, and practically every other type of application imaginable. Scheme is a fairly simple language to learn, since it is based on a handful of syntactic forms and semantic concepts and since the interactive nature of most implementations encourages experimentation. Scheme is a challenging language to understand fully, however; developing the ability to use its full potential requires careful ...
R. Kent Dybvig
Added 20 Apr 2009
Updated 20 Apr 2009
Authors R. Kent Dybvig
  • Chapter 1. Introduction
    • Section 1.1. Scheme Syntax
    • Section 1.2. Scheme Naming Conventions
    • Section 1.3. Typographical and Notational Conventions
  • Chapter 2. Getting Started
    • Section 2.1. Interacting with Scheme
    • Section 2.2. Simple Expressions
    • Section 2.3. Evaluating Scheme Expressions
    • Section 2.4. Variables and Let Expressions
    • Section 2.5. Lambda Expressions
    • Section 2.6. Top-Level Definitions
    • Section 2.7. Conditional Expressions
    • Section 2.8. Simple Recursion
    • Section 2.9. Assignment
  • Chapter 3. Going Further
    • Section 3.1. Syntactic Extension
    • Section 3.2. More Recursion
    • Section 3.3. Continuations
    • Section 3.4. Continuation Passing Style
    • Section 3.5. Internal Definitions
  • Chapter 4. Procedures and Variable Bindings
    • Section 4.1. Variable References
    • Section 4.2. Lambda
    • Section 4.3. Local Binding
    • Section 4.4. Variable Definitions
    • Section 4.5. Assignment
  • Chapter 5. Control Operations
    • Section 5.1. Procedure Application
    • Section 5.2. Sequencing
    • Section 5.3. Conditionals
    • Section 5.4. Recursion, Iteration, and Mapping
    • Section 5.5. Continuations
    • Section 5.6. Delayed Evaluation
    • Section 5.7. Multiple Values
    • Section 5.8. Eval
  • Chapter 6. Operations on Objects
    • Section 6.1. Constants and Quotation
    • Section 6.2. Generic Equivalence and Type Predicates
    • Section 6.3. Lists and Pairs
    • Section 6.4. Numbers
    • Section 6.5. Characters
    • Section 6.6. Strings
    • Section 6.7. Vectors
    • Section 6.8. Symbols
  • Chapter 7. Input and Output
    • Section 7.1. Input Operations
    • Section 7.2. Output Operations
    • Section 7.3. Loading Programs
    • Section 7.4. Transcript Files
  • Chapter 8. Syntactic Extension
    • Section 8.1. Keyword Bindings
    • Section 8.2. Syntax-Rules Transformers
    • Section 8.3. Syntax-Case Transformers
    • Section 8.4. Examples
  • Chapter 9. Extended Examples
    • Section 9.1. Matrix and Vector Multiplication
    • Section 9.2. Sorting
    • Section 9.3. A Set Constructor
    • Section 9.4. Word Frequency Counting
    • Section 9.5. Scheme Printer
    • Section 9.6. Formatted Output
    • Section 9.7. A Meta-Circular Interpreter for Scheme
    • Section 9.8. Defining Abstract Objects
    • Section 9.9. Fast Fourier Transform
    • Section 9.10. A Unification Algorithm
    • Section 9.11. Multitasking with Engines
  
Comments (0)