The Kawa Scheme language
Table of Contents
- The Kawa Scheme language
- 1. Getting and installing Kawa
- 2. Features
-
3. Documentation
-
3.1. Usage Reference
-
3.1.1. Command-line arguments
- 3.1.1.1. General options
- 3.1.1.2. Options for language selection
- 3.1.1.3. Options for warnings and errors
- 3.1.1.4. Options for setting variables
- 3.1.1.5. Options for controlling output formatting
- 3.1.1.6. Options for compiling and optimizing
- 3.1.1.7. Options for debugging
- 3.1.1.8. Options for web servers
- 3.1.1.9. Options for the JVM
- 3.1.2. Running Command Scripts
- 3.1.3. Running a Command Interpreter in a new Window
- 3.1.4. Exiting Kawa
- 3.1.5. Compiling
-
3.1.1. Command-line arguments
- 3.2. Syntax
- 3.3. Program structure
- 3.4. Multiple values
- 3.5. Symbols and namespaces
- 3.6. Procedures
- 3.7. Numbers
- 3.8. Characters and text
- 3.9. Data structures
- 3.10. Eval and Environments
- 3.11. Debugging
- 3.12. Input, output, files
- 3.13. Types
-
3.14. Object, Classes and Modules
- 3.14.1. Defining new classes
- 3.14.2. Anonymous classes
- 3.14.3. Enumeration types
- 3.14.4. Annotations of declarations
- 3.14.5. Modules and how they are compiled to classes
- 3.14.6. Record types
- 3.14.7. Creating New Record Types On-the-fly
- 3.14.8. Calling Java methods from Scheme
- 3.14.9. Allocating objects
- 3.14.10. Accessing object fields
- 3.14.11. Mapping Scheme names to Java names
- 3.14.12. Scheme types in Java
- 3.14.13. Using Java Arrays
- 3.14.14. Loading Java functions into Scheme
- 3.14.15. Evaluating Scheme expressions from Java
-
3.15. Working with XML and HTML
- 3.15.1. Formatting XML
- 3.15.2. Creating HTML nodes
- 3.15.3. Creating XML nodes
- 3.15.4. XML literals
- 3.15.5. Web page scripts
- 3.15.6. Self-configuring web page scripts
- 3.15.7. Installing web page scripts as Servlets
- 3.15.8. Installing Kawa programs as CGI scripts
- 3.15.9. Functions for accessing HTTP requests
- 3.15.10. Generating HTTP responses
- 3.15.11. Using non-Scheme languages for XML/HTML
- 3.16. Miscellaneous topics
-
3.1. Usage Reference
-
4. Development
- 4.1. Reporting bugs
-
4.2. Ideas and tasks for contributing to Kawa
- 4.2.1. Compiler should use class-file reading instead of reflection
- 4.2.2. Mutually dependent Java and Scheme modules
- 4.2.3. Make use of Java-7 MethodHandles
- 4.2.4. R6RS and R7RS libraries and syntax
- 4.2.5. Optimize switches (case)
- 4.2.6. Parameterized types
- 4.2.7. Function types
- 4.2.8. Full continuations
- 4.2.9. Faster tailcalls
- 4.2.10. TreeList-optimization
- 4.2.11. Asynchronous evaluation
- 4.2.12. REPL console and other REPL improvement
- 4.2.13. XQuery-1.1-functionality
- 4.2.14. XQuery-updates
- 4.2.15. Common Lisp support
- 4.2.16. JEmacs improvements
- 4.2.17. Improved IDE integration
- 4.2.18. Output formatting and pretty printing
- 4.2.19. Hop-style web programming
- 4.2.20. Quaternions
- 4.2.21. String localization
- 4.2.22. Data binding
- 4.2.23. Better dynamic reload
- 4.3. The Kawa language framework
- 5. The Kawa Community
- 6. About
- Index