This is the mail archive of the kawa@sourceware.cygnus.com mailing list for the Kawa project. See the Kawa home page for more information.
I couldn't see anything in the kawa 1.6.55 distribution explaining exactly how one did this (I don't profess to understand the source). So I guessed. Please find attached an eight-line (ish) patch to kawa.texi containing the result of my guesswork, which might if correct save someone else the trouble. Of course, I could just as easily have it all wrong ... --- kawa.texi.orig Fri Jul 24 04:05:48 1998 +++ kawa.texi Tue Nov 10 21:26:08 1998 @@ -502,6 +502,7 @@ * Keywords:: * Special named constants:: * Optional and keyword lambda parameters:: +* Type declaration in lambda parameters:: * Logical Number Operations:: * Strings:: * Records:: @@ -609,7 +610,8 @@ (The @var{string} does not include a final @code{#\:}.) @end defun -@node Optional and keyword lambda parameters, Logical Number Operations, Keywords, Extensions +@node Optional and keyword lambda parameters, Type declaration in lambda parameters, Keywords, Extensions + @section Optional and keyword lambda parameters Kawa borrows the extended formal argument list of DSSSL: @@ -673,7 +675,22 @@ environment in which all the previous formal parameters have been bound. @end itemize -@node Logical Number Operations, Strings, Optional and keyword lambda parameters, Extensions +@node Type declaration in lambda parameters, Logical Number Operations, Keywords, Extensions +@section Type declaration in lambda parameters + +A formal argument may optionally be a list @code{(@var{name} @var{type})}. +This declares that the argument @var{name} must be of type @var{type}. + +@display +#|kawa:229|# (define (foo (a <int>)) a) +#|kawa:230|# (foo 2) +2 +#|kawa:231|# (foo 'a) +Invalid parameter, should be: java.lang.String +java.lang.ClassCastException: java.lang.String +@end display + +@node Logical Number Operations, Strings, Type declaration in lambda parameters, Extensions @section Logical Number Operations These functions operate on the 2's complement binary representation Daniel -- dan@pentacom.co.uk