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.
At 13:16 15.03.99 -0700, you wrote:
>>OTOH, what about aligning this feature with Common Lisp syntax:
>>
>> (let ((x 10) (y 20) ...)
>> (declare (type integer x y) ...)
>> ...)
>
>Please do not do this. Putting the declaration with the variable
>makes it easier (to me at least) to manipulate the code.
I agree that declarations should be associated with the variable. However,
the suggested syntax does not allow a declaration without introducing a
new binding. In some cases it is important to be able to add declarations
around a form, to say that within this form a variable is known to refer to
a more specific type than previously declared. Perhaps we can introduce
a declare syntax specifically for this:
(let (((a <number>) (read-a-number)) ... )
(if (instanceof? a <integer>)
(declare ((a <integer>) ... )
(do-integer-computation)
...)
(do-number-computation))
)
Hallvard Trętteberg,
Stipendiat ved Institutt for Datateknikk og Informasjonsvitenskap (IDI)
Fakultet for Fysikk, Informatikk og Matematikk (FIM)
Norges Teknisk-Naturvitenskapelige Universitet (NTNU)
Kontor: F-262, Nye Elektro, Tlf: +47 7359 3443, Fax: +47 7359 4466