[m-rev.] for review: mention improved Java backend in NEWS
Ian MacLarty
maclarty at csse.unimelb.edu.au
Mon May 31 12:57:35 AEST 2010
For review by Julien.
NEWS:
Add news about the new improved Java backend.
Add empty lines between new language features, so this section looks
the same as the other sections.
Index: NEWS
===================================================================
RCS file: /home/mercury1/repository/mercury/NEWS,v
retrieving revision 1.521
diff -u -r1.521 NEWS
--- NEWS 19 Apr 2010 01:25:43 -0000 1.521
+++ NEWS 31 May 2010 02:50:25 -0000
@@ -20,29 +20,41 @@
Changes to the Mercury language:
* We have removed support for automatic initialisation of solver variables.
+
* A new pragma, foreign_enum, allows the constructors of Mercury
enumeration types to be assigned values from foreign language code.
+
* A new pragma, foreign_export_enum, allows the constructors of Mercury
enumeration types to be referred to in foreign language code.
+
* Some of the restrictions on typeclass instances have been relaxed, allowing
support for polymorphic instances with functional dependencies.
+
* We now support trace goals, which can be used to print progress messages or
log messages in the middle of arbitrary computations.
+
* Mutables can now be marked as constant, which is useful when working with
constant data structures that cannot be conveniently represented as constant
terms.
+
* Mutables can now be marked as thread-local, which can take on different
values for each thread.
+
* promise_equivalent_solutions scopes (et al.) must now also list variables
with inst any that may be constrained by the goal.
+
* We now support !X ^ field_list := Term as a synonym for
!:X = !.X ^ field_list := Term.
+
* We now support higher-order `any' insts.
+
* We now support "implementation-defined literals", such as `$file', `$line',
`$pred', which are useful for producing better run-time error messages.
+
* We now support currying of multi-moded predicates or functions when the
mode to curry can be determined from the insts of the higher-order
arguments.
+
* We now support `try' goals for catching exceptions.
Changes to the Mercury standard library:
@@ -303,6 +315,18 @@
Changes to the Mercury compiler:
+* The Java backend has been substantially improved and now supports
+ all the core features of the language and most of the standard library.
+ The Java backend is roughly 3 times slower (after allowing for JIT)
+ than the C backends.
+
+* Interfacing with Mercury code from Java is also improved:
+ * Polymorphic Mercury types are now translated to Java classes
+ with generics, allowing for greater type safety in the Java code.
+ * Exported Mercury procedures retain their argument order in the
+ corresponding Java versions (output arguments are handled with a new
+ Ref Java type).
+
* We have added support for trail segments, which allow programs to grow
the trail on demand.
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to: mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions: mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the reviews
mailing list