<HTML><BODY>Is there simple way to calculate during compilation. Something like #. in Common Lisp.<BR><BR>For example how to do something like<BR><PRE class=no-highlight><CODE>(case ftype
((#.(keyword->g-type 'enum)
#.(keyword->g-type 'flags))
(convert-to-foreign value (g-type->lisp type)))
(#.(keyword->g-type 'double)
(coerce value 'double-float))
(#.(keyword->g-type 'float)
(coerce value 'single-float))
((#.(keyword->g-type 'int)
#.(keyword->g-type 'uint)
#.(keyword->g-type 'long)
#.(keyword->g-type 'ulong)
#.(keyword->g-type 'int64)
#.(keyword->g-type 'uint64)) <BR> (round value))
(else value))<BR><BR><BR>
</CODE></PRE>where keyword->g-type is a function (-> symbol? exact-integer?).<BR><BR>I don't want to place resulting numbers, because then there will be a lot of "magic numbers" corresponfing to different foreign types. <BR><BR><BR>-- <BR>Roman Klochkov</BODY></HTML>