Kawa has some basic support for parameterized (generic) types. The syntax:
Type[Arg1 Arg2 ... ArgN]
is more-or-less equivalent to Java’s:
Type<Arg1, Arg2, ..., ArgN>
This is a work-in-progress. You can use this syntax with fully-qualified class names, and also type aliases:
(define v1 ::gnu.lists.FVector[gnu.math.IntNum] [4 5 6]) (define-alias fv gnu.lists.FVector) (define v2 ::fv[integer] [5 6 7]) (define-alias fvi fv[integer]) (define v3 ::fvi [6 7 8])