This is the mail archive of the kawa@sources.redhat.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Shorthand for Java


Wen-Chun Ni wrote:

I am wondering whether there is a way to shorten the references to
Java objects in Kawa in general.
I recently checked in to cvs new support for "qualified names"
which (among more longer-term xml- and Common Lisp-related
advantages) make method invoction much more convenient.  I hadn't
announced it yet, since I hadn't written documentation.  However,
I just wrote some, and checked it info CVS.  Here is the short NEWS
version;  see the manual (kawa.texi) for more details:

You can use define-namespace to define "namespace aliases".
This is used for the new short-hard syntax for method invocation:
(define-namespace Int32 "class:java.lang.Integer")
(Int32:toHexString 255) => "ff"
(Int32:toString (Int32:new "00255")) => "255"
Alternatively, you can write:
(java.lang.Integer:toHexString 255) => "ff"

This feature is also available for XQuery - see
http://www.gnu.org/software/qexo/Extensions.html#Calling-Java-Methods

In JScheme, the Java dot notations
are preserved and efforts were made to make it natural from Java
programmers' perspective.
I have mixed feelings about dot notation and how natural it is.
The Kawa "colon notation" has other advantages, including integration
with XML namespace concepts.

I love Kawa very much because of its underlying generic framework
and its emphasis on compilation. However, I have to sell the idea
to colleagues for them to appreciate how easy it is to write in
Scheme without making Java integration too difficult.
I hope this new feature will help.
--
	--Per Bothner
per@bothner.com   http://www.bothner.com/per/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]