[m-rev.] for review: add example of calling Mercury libraries from Java
Julien Fischer
jfischer at opturion.com
Fri Dec 5 20:07:54 AEDT 2014
On Fri, 5 Dec 2014, Peter Wang wrote:
> On Fri, 5 Dec 2014 13:44:13 +1100 (AEDT), Julien Fischer <jfischer at opturion.com> wrote:
>> diff --git a/samples/java_interface/standalone_java/JavaMain.java b/samples/java_interface/standalone_java/JavaMain.java
>> new file mode 100644
>> index 0000000..814f917
>> --- /dev/null
>> +++ b/samples/java_interface/standalone_java/JavaMain.java
>> @@ -0,0 +1,53 @@
> ...
>> +
>> + // When we have finished calling Mercury procedures then we need to
>> + // invoke any finalisers specified using ':- finalise' declarations in
>> + // the set of Mercury libraries we are using.
>> + // The static method run_finalisers() in the JavaInternal class does
>> + // this. It will also perform any Mercury runtime finalisation that
>> + // may be needed.
>> + //
>> + JavaInternal.run_finalisers();
>> +
>> + // The Mercury exit status (as set by io.set_exit_status/1) may be read
>> + // from the static field 'exit_status' in the JavaInternal class.
>> + //
>> + out.println("JavaMain: Mercury exit status = "
>> + + JavaInternal.exit_status);
>
> No, I disagree with documenting something called JavaInternal.
> I suggest creating a new class with two methods to begin with:
>
> public static void run_finalisers()
> public static int get_exit_status()
I agree. There should be a single class that acts as the public
API for the Java version of the runtime. I was thinking of naming
it either Runtime or MercuryRuntime. Does anyone have a preference
(or an alternative suggestion)?
Cheers,
Julien.
More information about the reviews
mailing list