Skip to main content

Rémi Forax

Rémi Forax is Maitre de Conférence at University of Marne-la-Vallée since 2003 where he obtained his PhD on multi-method in Java. He has been using Java for many years and enjoys himself hacking the JDK.


forax's blog

Closure and collection integration

Posted by forax on September 8, 2006 at 12:39 AM PDT

The closure proposal doesn't define how closure and
collections will work together.
It's reasonable to say that this API will exist
because closure in order to be accepted
by the community must be well integrated with collections.
After all, java.util is the second more used package after

But that is not so easy.

JDK7: language enhancements

Posted by forax on September 6, 2006 at 2:14 AM PDT

Wow, we begin to have a good view
of the language enhancements planed for Dolphin JDK7.

Garden thought

Posted by forax on September 2, 2006 at 7:44 AM PDT

I'm seating in my garden, my laptop on my knees.
i'm hearing the noise of some mowers in the background,
my kid is sleeping,
my wife is trying to resolve a sudoku,
and i'm thinking about closure, again !

Why doesn't enable to define a closure using a reference
to a method ?

Syntax of closure

Posted by forax on August 31, 2006 at 6:37 AM PDT

In forum (fora) and blogs, i have often seen that closures are compared to anonymous classes
in order to reject the proposed syntax of closure.

In this entry, i try to show up why the closure syntax
is such as it is by explaining the differences with the
anonymous class syntax.

Is closure swing ?

Posted by forax on August 29, 2006 at 4:08 PM PDT

Yes, this is another entry about closure :)

Function that does not return normally

Posted by forax on August 26, 2006 at 8:04 AM PDT

It's a recurring problem, you have a code that always generates an exception

   public void throwIOException(int code) throws IOException {
     throw new IOException(IO.getMessage(code));

and you use it in a method like this :

   public int read() throws IOException {
     int value=readAByte()
     if (value!=-1)
       return value;

Closure and performance

Posted by forax on August 24, 2006 at 5:09 AM PDT

I've read the proposal about
function types and closures
and i have noticed that the invocation
of a function type will use the newly introduced bytecode invokedynamic (the gilad blog about invokedynamic) and i think i know why !

Meta protocol mix in JDBC 4.0

Posted by forax on August 2, 2006 at 2:18 AM PDT

While reading the JDBC 4.0 spec, i found a meta protocol mix
in the way the spec specifies how to create an empty DataSet
using the newly introduced query interface mecanism.
But before let me introduce the context :

Embed Scripts in a desktop application

Posted by forax on July 31, 2006 at 1:22 AM PDT

After my previous post about
Scripting for end users, i've made the promise to explain how to create
a script aware desktop application.
I think it's a good counterpart of the basics described in Scripting for the Java Platform

Scripting for end users

Posted by forax on July 28, 2006 at 4:54 AM PDT

After reading the John O'Conner Blog about scripting, i want to share some thoughts.

First, embedding script in a desktop application is not new, Mozilla Firefox, Open Office Writer/Calc (Microsoft Word/Excel) already provide a scripting environment to their end users since years.