[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