t3x.org / sketchy / vol1 / toc1-x.html

Sketchy LISP

  Copyright (C) 2006,2007 Nils M Holm
Buy a copy at Lulu.com

An Introduction to Functional Programming in Scheme

Contents

Preface
1 Basic Scheme Programming
1.1 Notation
1.2 Functional Programming
1.3 Loops in Functional Programs
1.3.1 Cond Revisited
1.4 Basic Data Types
1.4.1 Integers
1.4.2 Booleans
1.4.3 Chars, Strings, and External Representation
1.4.4 Lists, Symbols, and Quotation
1.5 Some Things You can do with Lists
1.6 Procedures and Local Scopes
1.6.1 What are Closures Good for?
1.7 Different Ways of Binding Symbols
1.7.1 Binding Recursive Functions
1.8 Lists, Pairs, and History
1.8.1 Association Lists
1.8.2 Nested Lists
1.8.3 A Historical Note
2 Less Basic Scheme Programming
2.1 Variable Argument Procedures
2.2 Identity and Equality
2.2.1 A More General Form of Equality
2.2.2 Using Identity and Equality
2.3 Higher Order Functions
2.3.1 Some Fun with Higher Order Functions
2.4 Dynamic Typing
2.5 Type Conversion
2.5.1 Arithmetics with Lists
2.6 Arithmetics
2.7 Strings and Characters Recycled
2.7.1 Garbage Collection
2.8 Input, Output, and Side Effects
2.8.1 Input and Output
3 Some Missing Pieces
3.1 Syntax Transformation
3.1.1 Pattern Matching
3.1.2 Substitution
3.1.3 Recursive Syntax
3.2 Quasiquotation
3.3 Tail-recursive Programs
3.4 Continuations
3.4.1 Non-Local Exits
3.4.2 Exposing some Gory Details
3.5 Lambda Calculus and the Y Combinator
3.5.1 Scheme vs Lambda Calculus
The End
Appendix
A.1 First Steps in SketchyLISP
A.2 Table of Example Programs
A.3 Scheme Syntax and Procedures
Index