Kawa
Table of Contents
News: Recent changes
The Kawa language framework
Getting and installing Kawa
Usage Reference
Language Reference
The Kawa Community
License
Index
The Kawa language framework
Table of Contents
The Kawa language framework
1. Getting and installing Kawa
1.1. Getting Kawa
1.1.1. Getting the development sources using SVN
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. Compiling Kawa to native code with GCJ
1.4.4. 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. Symbols and namespaces
3.4.1. Namespaces and compound symbols
3.4.2. Keywords
3.4.3. Special named constants
3.5. Procedures
3.5.1. Procedure properties
3.5.2. Generic (dynamically overloaded) procedures
3.5.3. Extended Formal Arguments List
3.6. Numbers
3.6.1. Quantities and Units
3.6.2. Extended Number Operations
3.6.3. Logical Number Operations
3.7. Data structures
3.7.1. Lists
3.7.2. Strings
3.7.3. Multi-dimensional Arrays
3.7.4. Uniform vectors
3.7.4.1. Relationship with Java arrays
3.7.5. Hash tables
3.7.5.1. Type constructors and predicate
3.7.5.2. Reflective queries
3.7.5.3. Dealing with single elements
3.7.5.4. Dealing with the whole contents
3.7.5.5. Hashing
3.8. Exception handling
3.9. Eval and Environments
3.9.1. Locations
3.9.2. Parameter objects
3.10. Debugging
3.11. Threads
3.12. Processes
3.13. Miscellaneous
3.14. Input, output, files
3.14.1. Named output formats
3.14.2. Paths - file name, URLs, and URIs
3.14.2.1. Extracting Path components
3.14.3. File System Interface
3.14.4. Ports
3.14.5. Formatted Output (Common-Lisp-style)
3.14.5.1. Implemented CL Format Control Directives
3.14.5.2. Formatting Integers
3.14.5.3. Formatting real numbers
3.14.5.4. Miscellaneous formatting operators
3.14.5.5. Unimplemented CL Format Control Directives
3.14.5.6. Extended, Replaced and Additional Control Directives
3.15. Types
3.15.1. Standard Types
3.15.2. Declaring Types of Variables
3.16. Object, Classes and Modules
3.16.1. Record types
3.16.2. Creating New Record Types On-the-fly
3.16.3. Mapping Scheme names to Java names
3.16.4. Calling Java methods from Scheme
3.16.4.1. Using colon notation
3.16.4.2. Using a namespace prefix
3.16.4.3. Invoking non-static methods
3.16.4.4. Invoking a method with the
invoke
function
3.16.4.5. Method names
3.16.5. Allocating objects
3.16.6. Accessing fields of Java objects
3.16.6.1. Using field and static-field methods
3.16.7. Defining new classes
3.16.8. Anonymous classes
3.16.9. Modules and how they are compiled to classes
3.16.9.1. Name visibility
3.16.9.2. Definitions
3.16.9.3. How a module becomes a class
3.16.9.4. Requiring (importing) a module
3.16.10. Scheme types in Java
3.16.11. Using Java Arrays
3.16.11.1. Creating new Java arrays
3.16.11.2. Accessing Java array elements
3.16.11.3. Old low-level array macros
3.16.12. Loading Java functions into Scheme
3.16.13. Evaluating Scheme expressions from Java
3.17. Working with XML and HTML
3.17.1. Formatting XML
3.17.2. Creating HTML nodes
3.17.3. Creating XML nodes
3.17.4. Writing web-server-side Kawa scripts
3.17.5. Installing Kawa programs as Servlets
3.17.6. Installing Kawa programs as CGI scripts
3.17.7. Functions for accessing HTTP requests
3.17.8. Generating HTTP responses
3.17.9. Using non-Scheme languages for XML/HTML
3.17.9.1. XSuery language
3.17.9.2. XSL transformations
3.17.9.3. KRL - The Kawa Report Language for generating XML/HTML
3.17.9.4. Differences between KRL and BRL
3.18. Deprecated low-level functions
3.18.1. Low-level Method invocation
3.18.2. Low-level field operations
3.18.3. Old low-level array macros
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