SketchyLISP Reference Manual

Copyright (C) 2005 Nils M Holm <nmh@t3x.org>

Revised: 2005-05-26

The latest version of the SketchyLISP interpreter and this document can be found at:

http://www.t3x.org/sketchy/

Contents

1 Abstract
2 Summary
3 Programs
3.1 Program Execution
3.2 Expressions
4 Reduction Rules
4.1 Introduction
4.2 Atoms
4.3 Lists
4.4 Primitive Functions
4.5 Lambda Functions
4.6 Variadic Lambda Functions
4.7 Empty Lists
4.8 Other Lists
5 Primitive Functions
5.1 Introduction
5.2 APPLY
5.3 BOTTOM
5.4 CALL/CC
5.5 CAR
5.6 CDR
5.7 COND
5.8 CONS
5.9 DEFINE
5.10 EQ?
5.11 EVAL
5.12 EXPLODE
5.13 IMPLODE
5.14 LETREC*
5.15 LAMBDA
5.16 LIST
5.17 NULL?
5.18 NUMBER?
5.19 PAIR?
5.20 PROCEDURE?
5.21 QUOTE
6 Pre-defined Symbols
6.1 **
6.2 *SYMBOLS*
7 Library Functions
7.1 Type Predicates
7.2 List Functions
7.3 Logic and Combinatoric Functions
7.4 Numeric Functions
7.5 Library Loaders
8 Differences to Scheme
8.1 First Class Environments in Closures
8.2 Numeric Literals
8.3 LETREC* vs LETREC
8.4 Functions
9 Meta Commands
9.1 Entering Meta Commands
9.2 :C - Load Conditionally
9.3 :D - Dump Image
9.4 :F - Function Tracking
9.5 :G - Garbage Collection
9.6 :I - Implode Lists
9.7 :K - Print Closures
9.8 :L - Load Program
9.9 :Q - Quit
9.10 :S - Statistics
9.11 :T - Trace Mode
9.12 :V - Version and License
9.13 :W - Wrap Column
10 References