1 Welcome to PLT Scheme
2 Scheme Essentials
3 Built-In Datatypes
4 Expressions and Definitions
5 Programmer-Defined Datatypes
6 Modules
7 Input and Output
8 Contracts
9 Classes and Objects
10 Exceptions and Control
11 Iterations and Comprehensions
12 Regular-Expression Matching (Regexps)
13 Pattern Matching
14 Quasiquoting
15 Units (Higher-Order Modules)
16 Threads
17 Syntactic Extension (Macros)
18 Reflection and Dynamic Evaluation
19 Reader Extension
20 Security
21 Memory Management
22 Performance
23 Foreign-Function Interface (FFI)
24 Scripts
25 Graphical User Interfaces (GUIs)
26 More Tools
Index

contents

 index

← prev  up  next →

 

Index

The #module Shorthand

Abbreviating quote with

Abbreviating with `, ,, and ,@

accessor

Anonymous Functions with lambda

The apply Function

Arity-Sensitive Functions: case-lambda

An Aside on Indenting Code

Assignment and Redefinition

Assignment: set!

Booleans

Boxes

Built-In Datatypes

Bytes and Byte Strings

Bytes versus Characters

Certificate Propagation

Chaining Tests: cond

Characters

Classes and Objects

Combining Tests: and and or

Conditionals

Conditionals with if, and, or, and cond

constructor

Contracts

Controlling the Scope of External Names

Curried Function Shorthand

Declaring a Rest Argument

Declaring Keyword Arguments

Declaring Optional Arguments

Default Ports

Definitions

Definitions and Interactions

Definitions: define

Effects After: begin0

Effects Before: begin

Effects If...: when and unless

Ephemerons

Escapes: quasiquote, unquote, and unquote-splicing

Evaluation Order and Arity

Exceptions and Control

Exports: provide

Expressions and Definitions

Final, Augment, and Inner

for and for*

for/and and for/or

for/first and for/last

for/fold and for*/fold

for/list and for*/list

Foreign-Function Interface (FFI)

Function Calls (Procedure Applications)

Function Calls (Procedure Applications)

Function Calls, Again

Function Shorthand

Functions (Procedures): lambda

Graphical User Interfaces (GUIs)

A Guide to PLT Scheme

Guidelines for Using Assignment

Hash Tables

Identifiers

Identifiers and Binding

Imports: require

Initialization Arguments

Input and Output

instantiates

Interacting with Scheme

Interfaces

Internal and External Names

Internal Certificates

Internal Definitions

Iteration Performance

Iterations and Comprehensions

Keyword Arguments

Keywords

List Iteration from Scratch

Lists and Scheme Syntax

Lists, Iteration, and Recursion

Local Binding

Local Binding with define, let, and let*

Memory Management

Methods

Module Basics

The module Form

module path

Module Paths

Module Syntax

Modules

More Structure Type Options

More Tools

Multiple Values and define-values

Multiple Values: let-values, let*-values, letrec-values

Multiple Values: set!-values

Multiple-Valued Sequences

mutator

Named let

Notation

A Note to Readers with Scheme/Lisp Experience

Numbers

Opaque versus Transparent Stucture Types

Pairs and Lists

Pairs, Lists, and Scheme Syntax

Parallel Binding: let

Pattern Matching

Performance

Predefined List Loops

predicate

Programmer-Defined Datatypes

Quasiquoting

Quoting Pairs and Symbols with quote

Quoting: quote and

Reader Extension

Reading and Writing Scheme Data

Recursion versus Iteration

Recursive Binding: letrec

Reflection and Dynamic Evaluation

Regular-Expression Matching (Regexps)

REPL

Scheme Essentials

Scripts

Security

Sequence Constructors

Sequencing

Sequential Binding: let*

Serialization

Simple Branching: if

Simple Definitions and Expressions

Simple Dispatch: case

Simple Structure Types: define-struct

Simple Values

Strings (Unicode)

Structure Subtypes

structure type descriptor

Structure Type Generativity

Symbols

Syntactic Extension (Macros)

Syntax Certificates

Tail Recursion

Threads

Units (Higher-Order Modules)

Varieties of Ports

Vectors

Void and Undefined

Weak Boxes

Welcome to PLT Scheme

 

contents

 index

← prev  up  next →