Larceny User Manual


Table of Contents

1. Larceny
2. Installing Larceny
2.1. Varieties of Larceny
2.2. System requirements
2.3. Downloading
2.4. Installing the programs
2.5. Compiling the R7RS/R6RS standard libraries
3. Running Larceny
3.1. R5RS mode
3.2. R6RS mode
3.3. R7RS mode
3.4. Scheme scripts
3.5. R5RS scripting
3.6. Errors
3.7. Troubleshooting
3.8. Performance
4. R7RS/R6RS Libraries
4.1. Interactive computing
4.2. Automatic loading
4.3. Explicit loading
4.4. Predefined libraries
4.5. Library path
4.6. Defining libraries
4.7. Importing procedures from Larceny's underlying R5RS system
5. Lexical syntax
5.1. Flags
5.2. Case-sensitivity
5.3. Lexical extensions
5.4. Lexical parameters
6. File naming conventions
6.1. Suffixes
6.2. Directories
6.3. Resolving references to libraries
6.4. Mapping library names to files (R7RS/R6RS)
6.5. Mapping library names to files (R5RS)
7. Compiling files and libraries
7.1. Compiling R7RS/R6RS libraries
7.2. Compiling R5RS source files
7.3. Loading compiled R5RS files into an R7RS session
8. R7RS standard libraries
8.1. Known deviations from the R7RS standard
9. R6RS standard libraries
9.1. Base library
9.2. Unicode
9.3. Bytevectors
9.4. Lists
9.5. Sorting
9.6. Control
9.7. Records
9.8. Exceptions and conditions
9.9. Input and output
9.10. Programs
9.11. Arithmetic
9.12. Syntax-case
9.13. Hashtables
9.14. Enumeration sets
9.15. Eval
9.16. Mutable pairs and strings
9.17. R5RS
10. Larceny's R7RS/R6RS libraries
10.1. Load
10.2. Compiler
10.3. Benchmarking
10.4. Records printer
11. ERR5RS standard libraries
11.1. Load
11.2. Records
12. Larceny's R5RS libraries
12.1. Strings
12.2. Bytevectors
12.3. Vectors
12.4. Procedures
12.5. Pairs and Lists
12.6. Sorting
12.7. Records
12.8. Input, Output, and Files
12.9. Operating System Interface
12.10. Fixnum primitives
12.11. Numbers
12.12. Hashtables and hash functions
12.13. Parameters
12.14. Property Lists
12.15. Symbols
12.16. System Control and Performance Measurement
12.17. SRFI Support
12.18. SLIB support
12.19. Foreign-Function Interface to C
13. Debugging
13.1. Entering the debugger
13.2. Debugger commands
13.3. Breakpoints
13.4. Tracing
13.5. Other functionality
14. Standards
14.1. Scheme standards
14.2. Other relevant standards
Index

1. Larceny

Larceny implements the Scheme programming language as defined by the Revised7 Report, the Revised6 Report, the Revised5 Report, and IEEE Standard 1178-1990. Those language standards serve as Larceny's primary documentation.

This manual describes aspects of Larceny that are not described by the Revised Reports or IEEE-1178. For the most current version of this manual, please see Larceny's online documentation page. For links to the Common Larceny User Manual and the Larceny mailing list, please visit Larceny's main web page.

To report bugs, please send email to the Larceny developers at <larceny@ccs.neu.edu>, or submit a bug ticket at Larceny's GitHub site.