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. Lexical syntax
4.1. Flags
4.2. Case-sensitivity
4.3. Lexical extensions
4.4. Lexical parameters
5. File naming conventions
5.1. Suffixes
5.2. Directories
5.3. Resolving references to libraries
5.4. Mapping library names to files (R7RS/R6RS)
5.5. Mapping library names to files (R5RS)
6. Compiling files and libraries
6.1. Compiling R7RS/R6RS libraries
6.2. Compiling R5RS source files
7. R7RS standard libraries
7.1. Known deviations from the R7RS standard
8. R6RS standard libraries
8.1. Base library
8.2. Unicode
8.3. Bytevectors
8.4. Lists
8.5. Sorting
8.6. Control
8.7. Records
8.8. Exceptions and conditions
8.9. Input and output
8.10. Programs
8.11. Arithmetic
8.12. Syntax-case
8.13. Hashtables
8.14. Enumeration sets
8.15. Eval
8.16. Mutable pairs and strings
8.17. R5RS
9. Larceny's R7RS/R6RS libraries
9.1. Load
9.2. Compiler
9.3. Benchmarking
9.4. Records printer
10. ERR5RS standard libraries
10.1. Load
10.2. Records
11. Larceny's R5RS libraries
11.1. Strings
11.2. Bytevectors
11.3. Vectors
11.4. Procedures
11.5. Pairs and Lists
11.6. Sorting
11.7. Records
11.8. Input, Output, and Files
11.9. Operating System Interface
11.10. Fixnum primitives
11.11. Numbers
11.12. Hashtables and hash functions
11.13. Parameters
11.14. Property Lists
11.15. Symbols
11.16. System Control and Performance Measurement
11.17. SRFI Support
11.18. SLIB support
11.19. Foreign-Function Interface to C
12. Debugging
12.1. Entering the debugger
12.2. Debugger commands
12.3. Breakpoints
12.4. Tracing
12.5. Other functionality
13. Standards
13.1. Scheme standards
13.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.