Kawa, the Java-based Scheme system

Node:Miscellaneous, Previous:Processes, Up:Extensions

### Miscellaneous

scheme-implementation-version | Function

Returns the Kawa version number as a string.

command-line-arguments | Variable

Any command-line arguments (following flags processed by Kawa itself) are assigned to the global variable `command-line-arguments`, which is a vector of strings.

home-directory | Variable

A string containing the home directory of the user.

exit [code] | Function

Exits the Kawa interpreter, and ends the Java session. The integer value code is returned to the operating system. If code is not specified, zero is returned, indicating normal (non-error) termination.

scheme-window [shared] | Function

Create a read-eval-print-loop in a new top-level window. If shared is true, it uses the same environment as the current `(interaction-environment)`; if not (the default), a new top-level environment is created. You can create multiple top-level window that can co-exist. They run in separate threads.

when condition form... | Syntax

If condition is true, evaluate each form in order, returning the value of the last one.

unless condition form... | Syntax

If condition is false, evaluate each form in order, returning the value of the last one.

vector-append arg... | Function

Creates a new vector, containing the elements from all the args appended together. Each arg may be a vector or a list.

instance? value type | Function

Returns `#t` iff value is an instance of type type. (Undefined if type is a primitive type, such as `<int>`.)

as type value | Function

Converts or coerces value to a value of type type. Throws an exception if that cannot be done. Not supported for type to be a primitive type such as `<int>`.

synchronized object form ... | Syntax

Synchronize on the given object. (This means getting an exclusive lock on the object, by acquiring its monitor.) Then execute the forms while holding the lock. When the forms finish (normally or abnormally by throwing an exception), the lock is released. Returns the result of the last form. Equivalent to the Java `synchronized` statement, except that it may return a result.