[m-dev.] for review: update NEWS and WORK_IN_PROGRESS
Fergus Henderson
fjh at cs.mu.OZ.AU
Tue Oct 26 02:33:29 AEST 1999
Estimated hours taken: 1
Update the documentation in preparation for a new release.
NEWS:
Document existential types.
Document the improved Mmake support for libraries.
Add a new item "numerous bug fixes".
WORK_IN_PROGRESS:
Remove the mention of existential types, since they are now
documented in the NEWS file and in the language reference
manual.
Move the mention of the --high-level-c option from the "work
not in progress" to the "work in progress" section.
Workspace: /home/mercury0/fjh/mercury
Index: NEWS
===================================================================
RCS file: /home/mercury1/repository/mercury/NEWS,v
retrieving revision 1.149
diff -u -d -r1.149 NEWS
--- NEWS 1999/10/20 03:13:52 1.149
+++ NEWS 1999/10/25 16:29:45
@@ -4,6 +4,25 @@
Changes to the Mercury language:
********************************
+* The Mercury type system now supports existentially quantified types.
+
+ Existential types let you create heterogenous collections (e.g. lists
+ containing objects of different types). In combination with type
+ classes, they allow you to write code in a style resembling that
+ often used in many object oriented programming languages. See the
+ "Existential types" chapter of the Mercury Language Reference Manual
+ for details.
+
+ Our current implementation still has a couple of important limitations;
+ see the "Known bugs and limitations" section of the "Existential types"
+ chapter of the Mercury Language Reference Manual.
+
+* We now support a simple form of user-defined infix operators.
+
+ Terms in the form of x `fun` y are transformed into fun(x, y). `fun`
+ is parsed as an infix operator with the highest possible precedence
+ and left associativity.
+
* We've made a small change to the rule for quantification of lambda
expressions.
@@ -11,7 +30,7 @@
expressions are treated as locally quantified to that lambda expression.
For function lambda expressions, variables in the result term
use the normal quantification rules. See the "Data-terms" section
- of the "Syntax" chapter of the Mercury language reference manual
+ of the "Syntax" chapter of the Mercury Language Reference Manual
for details.
Previously, the exact quantification rule for lambda expressions was
@@ -36,12 +55,6 @@
instead. The compiler still supports the old-style syntax, but
we plan to eventually drop this support in some future release.
-* We now support a simple form of user-defined infix operators.
-
- Terms in the form of x `fun` y are transformed into fun(x, y). `fun`
- is parsed as an infix operator with the highest possible precedence
- and left associativity.
-
Changes to the Mercury standard library:
****************************************
@@ -66,11 +79,16 @@
bag__count_value/3,
std_util__do_while/4.
+* We've added function versions of many of the predicates in the
+ Mercury standard library.
+
* The following predicates have been replaced by functions with
the same names, and will be removed in a future release.
+
The predicate versions were intended for use in programs which needed
to work in both Prolog and Mercury, but executing Mercury programs using
Prolog is no longer supported.
+
float__ceiling_to_int/2,
float__floor_to_int/2,
float__round_to_int/2,
@@ -114,11 +132,23 @@
See the files in extras/dynamic_linking for details.
* We've added some use-at-your-own-risk bindings to POSIX.3 functionality.
+
At this stage it's quite incomplete.
+ See the files in extras/posix for details.
Changes to the Mercury implementation:
**************************************
+* Mmake, the Mercury make tool, now includes better support for
+ installing libraries.
+
+ It's now much easier to build and install libraries in several
+ different grades (e.g. for debugging, time profiling, and memory
+ profiling) or for more than one architecture.
+
+ See the "Supporting multiple grades and architectures" section
+ of the "Libraries" chapter of the Mercury User's Guide.
+
* We've fixed a bug in switch detection.
This change may break some code written for Mercury 0.8. Some
@@ -180,4 +210,6 @@
See the "Type specialization" section of the "Pragmas" chapter of the
Mercury Language Reference Manual for details.
+
+* Numerous bug fixes.
Index: WORK_IN_PROGRESS
===================================================================
RCS file: /home/mercury1/repository/mercury/WORK_IN_PROGRESS,v
retrieving revision 1.12
diff -u -d -r1.12 WORK_IN_PROGRESS
--- WORK_IN_PROGRESS 1999/06/15 07:09:37 1.12
+++ WORK_IN_PROGRESS 1999/10/25 16:27:03
@@ -5,7 +5,9 @@
which are not yet completed, but which we hope to complete
at some time in the future:
-* Existential types.
+* There is a `--high-level-c' option, for a new back-end
+ that generates C code but at a much higher level than the
+ current back-end (e.g. no gotos).
* Thread-safe engine.
@@ -67,7 +69,3 @@
* There is a `--generate-prolog' option for a new back-end
that generates Prolog code.
Not very much progress has really been made on this.
-
-* There is a `--high-level-c' option, for a new back-end
- that generates C code but at a much higher level than the
- current back-end.
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3 | -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list