[Top] [Contents] [Index] [ ? ]

MIT/GNU Scheme Reference

Scheme is the UnCommon Lisp. This Info file is the programmer reference document for the MIT/GNU implementation of Scheme. It describes the facilities available for developing programs in MIT/GNU Scheme, and the "public" parts of the implementation.

Acknowledgements  
1. Overview  
2. Special Forms  
3. Equivalence Predicates  
4. Numbers  
5. Characters  
6. Strings  
7. Lists  
8. Vectors  
9. Bit Strings  
10. Miscellaneous Datatypes  
11. Associations  
12. Procedures  
13. Environments  
14. Input/Output  
15. Operating-System Interface  
16. Error System  
17. Graphics  
18. Win32 Package Reference  
A. GNU Free Documentation License  
B. Binding Index  
C. Concept Index  
-- The Detailed Node Listing ---
Overview
1.1 Notational Conventions  
1.2 Scheme Concepts  
1.3 Lexical Conventions  
1.4 Expressions  
Notational Conventions
1.1.1 Errors  
1.1.2 Examples  
1.1.3 Entry Format  
Scheme Concepts
1.2.1 Variable Bindings  
1.2.2 Environment Concepts  
1.2.3 Initial and Current Environments  
1.2.4 Static Scoping  
1.2.5 True and False  
1.2.6 External Representations  
1.2.7 Disjointness of Types  
1.2.8 Storage Model  
Lexical Conventions
1.3.1 Whitespace  
1.3.2 Delimiters  
1.3.3 Identifiers  
1.3.4 Uppercase and Lowercase  
1.3.5 Naming Conventions  
1.3.6 Comments  
1.3.7 Additional Notations  
Expressions
1.4.1 Literal Expressions  
1.4.2 Variable References  
1.4.3 Special Form Syntax  
1.4.4 Procedure Call Syntax  
Special Forms
2.1 Lambda Expressions  
2.2 Lexical Binding  
2.3 Dynamic Binding  
2.4 Definitions  
2.5 Assignments  
2.6 Quoting  
2.7 Conditionals  
2.8 Sequencing  
2.9 Iteration  
2.10 Structure Definitions  
2.11 Macros  
2.12 SRFI syntax  
Definitions
2.4.1 Top-Level Definitions  
2.4.2 Internal Definitions  
Macros
2.11.1 Binding Constructs for Syntactic Keywords  
2.11.2 Pattern Language  
2.11.3 Syntactic Closures  
2.11.4 Explicit Renaming  
Syntactic Closures
2.11.3.1 Syntax Terminology  
2.11.3.2 Transformer Definition  
2.11.3.3 Identifiers  
SRFI syntax
2.12.1 cond-expand (SRFI 0)  
2.12.2 receive (SRFI 8)  
2.12.3 define-record-type (SRFI 9)  
Numbers
4.1 Numerical types  
4.2 Exactness  
4.3 Implementation restrictions  
4.4 Syntax of numerical constants  
4.5 Numerical operations  
4.6 Numerical input and output  
4.7 Fixnum and Flonum Operations  
4.8 Random Numbers  
Fixnum and Flonum Operations
4.7.1 Fixnum Operations  
4.7.2 Flonum Operations  
Characters
5.1 External Representation of Characters  
5.2 Comparison of Characters  
5.3 Miscellaneous Character Operations  
5.4 Internal Representation of Characters  
5.5 ISO-8859-1 Characters  
5.6 Character Sets  
5.7 Unicode  
Strings
6.1 Construction of Strings  
6.2 Selecting String Components  
6.3 Comparison of Strings  
6.4 Alphabetic Case in Strings  
6.5 Cutting and Pasting Strings  
6.6 Searching Strings  
6.7 Matching Strings  
6.8 Regular Expressions  
6.9 Modification of Strings  
6.10 Variable-Length Strings  
6.11 Byte Vectors  
Regular Expressions
6.8.1 Regular-expression procedures  
6.8.2 REXP abstraction  
Lists
7.1 Pairs  
7.2 Construction of Lists  
7.3 Selecting List Components  
7.4 Cutting and Pasting Lists  
7.5 Filtering Lists  
7.6 Searching Lists  
7.7 Mapping of Lists  
7.8 Reduction of Lists  
7.9 Miscellaneous List Operations  
Vectors
8.1 Construction of Vectors  
8.2 Selecting Vector Components  
8.3 Cutting Vectors  
8.4 Modifying Vectors  
Bit Strings
9.1 Construction of Bit Strings  
9.2 Selecting Bit String Components  
9.3 Cutting and Pasting Bit Strings  
9.4 Bitwise Operations on Bit Strings  
9.5 Modification of Bit Strings  
9.6 Integer Conversions of Bit Strings  
Miscellaneous Datatypes
10.1 Booleans  
10.2 Symbols  
10.3 Cells  
10.4 Records  
10.5 Promises  
10.6 Streams  
10.7 Weak Pairs  
Associations
11.1 Association Lists  
11.2 1D Tables  
11.3 The Association Table  
11.4 Hash Tables  
11.5 Object Hashing  
11.6 Red-Black Trees  
11.7 Weight-Balanced Trees  
Hash Tables
11.4.1 Construction of Hash Tables  
11.4.2 Basic Hash Table Operations  
11.4.3 Resizing of Hash Tables  
11.4.4 Address Hashing  
11.4.5 Low-Level Hash Table Operations  
Weight-Balanced Trees
11.7.1 Construction of Weight-Balanced Trees  
11.7.2 Basic Operations on Weight-Balanced Trees  
11.7.3 Advanced Operations on Weight-Balanced Trees  
11.7.4 Indexing Operations on Weight-Balanced Trees  
Procedures
12.1 Procedure Operations  
12.2 Primitive Procedures  
12.3 Continuations  
12.4 Application Hooks  
Environments
13.1 Environment Operations  
13.2 Environment Variables  
13.3 REPL Environment  
13.4 Top-level Environments  
Input/Output
14.1 Ports  
14.2 File Ports  
14.3 String Ports  
14.4 Input Procedures  
14.5 Output Procedures  
14.6 Format  
14.7 Custom Output  
14.8 Prompting  
14.9 Port Primitives  
14.10 Parser Buffers  
14.11 Parser Language  
14.12 XML Parser  
Port Primitives
14.9.1 Port Types  
14.9.2 Constructors and Accessors for Ports  
14.9.3 Input Port Operations  
14.9.4 Output Port Operations  
14.9.5 Blocking Mode  
14.9.6 Terminal Mode  
Parser Language
14.11.1 *Matcher  
14.11.2 *Parser  
14.11.3 Parser-language Macros  
Operating-System Interface
15.1 Pathnames  
15.2 Working Directory  
15.3 File Manipulation  
15.4 Directory Reader  
15.5 Date and Time  
15.6 Machine Time  
15.7 Subprocesses  
15.8 TCP Sockets  
15.9 Miscellaneous OS Facilities  
Pathnames
15.1.1 Filenames and Pathnames  
15.1.2 Components of Pathnames  
15.1.3 Operations on Pathnames  
15.1.4 Miscellaneous Pathname Procedures  
Date and Time
15.5.1 Universal Time  
15.5.2 Decoded Time  
15.5.3 File Time  
15.5.4 Time-Format Conversion  
15.5.5 External Representation of Time  
Subprocesses
15.7.1 Subprocess Procedures  
15.7.2 Subprocess Conditions  
15.7.3 Subprocess Options  
Error System
16.1 Condition Signalling  
16.2 Error Messages  
16.3 Condition Handling  
16.4 Restarts  
16.5 Condition Instances  
16.6 Condition Types  
16.7 Condition-Type Taxonomy  
Restarts
16.4.1 Establishing Restart Code  
16.4.2 Invoking Standard Restart Code  
16.4.3 Finding and Invoking General Restart Code  
16.4.4 The Named Restart Abstraction  
Condition Instances
16.5.1 Generating Operations on Conditions  
16.5.2 Condition Abstraction  
16.5.3 Simple Operations on Condition Instances  
Graphics
17.1 Opening and Closing of Graphics Devices  
17.2 Coordinates for Graphics  
17.3 Drawing Graphics  
17.4 Characteristics of Graphics Output  
17.5 Buffering of Graphics Output  
17.6 Clipping of Graphics Output  
17.7 Custom Graphics Operations  
17.8 Images  
17.9 X Graphics  Graphics on the X Window System
17.10 Win32 Graphics  Graphics on Microsoft Windows and Windows NT
17.11 OS/2 Graphics  Graphics on IBM OS/2
X Graphics
17.9.1 X Graphics Type  
17.9.2 Utilities for X Graphics  
17.9.3 Custom Operations on X Graphics Devices  
Win32 Graphics
17.10.1 Win32 Graphics Type  
17.10.2 Custom Operations for Win32 Graphics  Custom Operations for Win32 Graphics Devices
OS/2 Graphics
17.11.1 OS/2 Graphics Type  
17.11.2 Color Operations for OS/2 Graphics  
17.11.3 Window Operations for OS/2 Graphics  
17.11.4 Event Operations for OS/2 Graphics  
17.11.5 Miscellaneous Operations for OS/2 Graphics  
Win32 Package Reference
18.1 Overview  
18.2 Foreign Function Interface  
18.3 Device Independent Bitmap Utilities  
Foreign Function Interface
18.2.1 Windows Types  
18.2.2 Windows Foreign Procedures  
18.2.3 Win32 API names and procedures  
Device Independent Bitmap Utilities
18.3.1 DIB procedures  
18.3.2 Other parts of the DIB Utilities implementation  



This document was generated by Chris Hanson on January, 18 2005 using texi2html