Kawa
Table of Contents
News: Recent changes
The Kawa language framework
1. Getting and installing Kawa
2. Usage Reference
3. Language Reference
4. The Kawa Community
5. License
Index
The Kawa language framework
Table of Contents
The Kawa language framework
1. Getting and installing Kawa
1.1. Getting Kawa
1.2. Getting and running Java
1.3. Installing and using the binary distribution
1.4. Installing and using the source distribution
1.4.1. Build Kawa using
configure
and
make
1.4.2. Build Kawa using
ant
1.4.3. Using the Jikes compiler
1.4.4. Compiling Kawa to native code with GCJ
1.4.5. Building Kawa under MS-Windows
2. Usage Reference
2.1. Command-line arguments
2.1.1. General options
2.1.2. Options for language selection
2.1.3. Options for setting variable
2.1.4. Options for controlling output formatting
2.1.5. Options for compiling and optimizing
2.1.6. Options for debugging
2.2. Running Command Scripts
2.3. Running a Command Interpreter in a new Window
2.4. Exiting Kawa
2.5. Compiling
2.5.1. Compiling to an archive file
2.5.2. Compiling to a set of .class files
2.5.3. Compilation options
2.5.4. Compiling to a standalone application
2.5.5. Compiling to an applet
2.5.6. Compiling to a native executable
3. Language Reference
3.1. Feature Summary
3.1.1. Implemented SRFIs
3.1.2. Features of R5RS not implemented
3.2. Syntax and conditional compilation
3.3. Multiple values
3.4. Special named constants
3.5. Keywords
3.6. Procedures
3.6.1. Procedure properties
3.6.2. Generic (dynamically overloaded) procedures
3.6.3. Extended Formal Arguments List
3.7. Numbers
3.7.1. Quantities and Units
3.7.2. Extended Number Operations
3.7.3. Logical Number Operations
3.8. Data structures
3.8.1. Lists
3.8.2. Strings
3.8.3. Multi-dimensional Arrays
3.8.4. Uniform vectors
3.8.4.1. Relationship with Java arrays
3.8.5. Hash tables
3.8.5.1. Type constructors and predicate
3.8.5.2. Reflective queries
3.8.5.3. Dealing with single elements
3.8.5.4. Dealing with the whole contents
3.8.5.5. Hashing
3.9. Exception handling
3.10. Eval and Environments
3.10.1. Locations
3.10.2. Parameter objects
3.11. Debugging
3.12. Threads
3.13. Processes
3.14. Miscellaneous
3.15. Input, output, files
3.15.1. Named output formats
3.15.2. File System Interface
3.15.3. Ports
3.15.4. Formatted Output (Common-Lisp-style)
3.15.4.1. Implemented CL Format Control Directives
3.15.4.2. Formatting Integers
3.15.4.3. Formatting real numbers
3.15.4.4. Miscellaneous formatting operators
3.15.4.5. Unimplemented CL Format Control Directives
3.15.4.6. Extended, Replaced and Additional Control Directives
3.16. Types
3.16.1. Standard Types
3.16.2. Declaring Types of Variables
3.17. Object, Classes and Modules
3.17.1. Record types
3.17.2. Creating New Record Types On-the-fly
3.17.3. Mapping Scheme names to Java names
3.17.4. Calling Java methods from Scheme
3.17.4.1. Invoking a method with a prefixed name
3.17.4.2. Invoking a method with the
invoke
function
3.17.4.3. Method names
3.17.5. Allocating objects
3.17.6. Accessing fields of Java objects
3.17.6.1. Using field and static-field methods
3.17.7. Defining new classes
3.17.8. Anonymous classes
3.17.9. Modules and how they are compiled to classes
3.17.9.1. Name visibility
3.17.9.2. Definitions
3.17.9.3. How a module becomes a class
3.17.9.4. Requiring (importing) a module
3.17.10. The Scheme-Java interface
3.17.11. Scheme types in Java
3.17.12. Low-level Operations on Java Arrays
3.17.13. Low-level Method invocation
3.17.14. Low-level field operations
3.17.15. Loading Java functions into Scheme
3.17.16. Evaluating Scheme expressions from Java
3.18. Working with XML and HTML
3.18.1. Writing web-server-side Kawa scripts
3.18.2. Installing Kawa programs as Servlets
3.18.3. Installing Kawa programs as CGI scripts
3.18.4. Functions for accessing HTTP requests
3.18.5. Generating HTTP responses
3.18.6. KRL - The Kawa Report Language for generating XML/HTML
3.18.6.1. Differences between KRL and BRL
4. The Kawa Community
4.1. Reporting bugs
4.2. General Kawa email and discussion
4.3. Technical Support
4.4. Projects using Kawa
5. License
5.1. License for the Kawa software
5.2. License for the Kawa manual
Index
Index