Frequently Asked Questions

What is the equivalent of Java import?

Kawa's import follows R6RS, so it is bit like Java's import static TypeName.* (static-import-on-demand) declaration.

Kawa doesn't have a direct equivalent of Java's import TypeName (single-type-import) declaration, but define-alias provides similar functionality:

(define-alias StrBuf java.lang.StringBuffer)

This has the advantage that you can pick an arbitrary name as an alias.

There is no direct equivalent to Java's import PackageOrTypeName.* (type-import-on-demand) declaration, but you can alias a package:

(define-alias jutil java.util)
(define mylist :: jutil:List (jutil:ArrayList))

You can also use define-namespace to introduce an abbreviation or renaming of a class name, but as a matter of style define-alias is preferred.