Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, are enough to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today. This book contains the three parts comprising 'R6RS', the sixth revision of a series of reports describing the programming language Scheme. The book is divided into parts: a description of the language itself, a description of the standard libraries and non-normative appendices. Early chapters introduce Scheme and later chapters act as a reference manual. This is an important report for programmers that work with or want to learn about the Scheme language.
• The benefits of Scheme are clearly described and key terms clearly defined • Acts as a thorough reference manual for Scheme • Designed to allow programmers to create and distribute substantial programs and libraries
Preface; Part I. Language: Description of the language; 1. Overview of Scheme; 2. Requirement levels; 3. Numbers; 4. Lexical syntax and datum syntax; 5. Semantic concepts; 6. Entry format; 7. Libraries; 8. Top-level programs; 9. Primitive syntax; 10. Expansion process; 11. Base library; Appendices; Part II. Standard Libraries: 12. Unicode; 13. Bytevectors; 14. List utilities; 15. Sorting; 16. Control structures; 17. Records; 18. Exceptions and conditions; 19. I/O; 20. File system; 21. Command-line access and exit values; 22. Arithmetic; 23. syntax-case; 24. Hashtables; 25. Enumerations; 26. Composite library; 27. Eval; 28. Mutable pairs; 29. Mutable strings; 30. R5RS compatibility; Part III. Non-Normative Appendices: A. Standard-conformant mode; B. Optional case insensitivity; C. Use of square brackets; D. Scripts; E. Source code representation; F. Use of library versions; G. Unique library names; References; Alphabetic index of definitions of concepts, keywords, and procedures.