contents
index
← prev up next →
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, 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