NEWS: mention prolog.m, mc->mmc, io__read/write_binary

Fergus Henderson fjh at cs.mu.oz.au
Tue Jul 29 00:21:34 AEST 1997


NEWS:
	Mention prolog.m. 
	Mention the mc -> mmc change.
	Mention io__read_binary and io__write_binary.
	Various other minor improvements.

Index: NEWS
===================================================================
RCS file: /home/staff/zs/imp/mercury/NEWS,v
retrieving revision 1.68
diff -u -r1.68 NEWS
--- NEWS	1997/07/28 13:16:47	1.68
+++ NEWS	1997/07/28 14:20:48
@@ -82,10 +82,15 @@
   The Mercury `char' type is now 8-bit clean (previously, "for
   compatibility with NU-Prolog" we only supported 7-bit characters).
 
+* The `mc' script has been renamed `mmc'.
+
+  This was done to avoid name clashes with the Midnight Commander
+  and the Modula Compiler.
+
 * We've added `man' pages.
 
   The documentation now includes Unix-style `man' pages for
-  most of the development tools, including mmake, mc, mgnuc, ml,
+  most of the development tools, including mmake, mmc, mgnuc, ml,
   and mprof.  These supplement the existing documentation in the
   Mercury User's Guide.
 
@@ -108,9 +113,9 @@
     accessing types at runtime.
 
     	+ For traversing terms: 
-    		Predicates argument/3, det_argument/3, functor/3,
-		and deconstruct/4.  These are similar to Prolog's arg/3,
-		functor/3, and '=..'.
+    		Functions argument/3, det_argument/3, functor/3,
+		and predicate deconstruct/4.  These are similar to
+		Prolog's arg/3, functor/3, and '=..'.
 
 	+ For constructing terms:
 		Functions num_functors/1, construct/3 and
@@ -124,16 +129,27 @@
 
     There are also some new functions for accessing values of the
     universal type `univ', namely univ/2 and univ_type/1.
+
+  - There is a new module called `prolog' which contains some predicates that
+    may be useful for compatibility with Prolog: arg/3, functor/3,
+    `=:=', `=\=', `==', `\==', `@<', `@>', `@=<', `@>='.  We plan to
+    eventually move the definitions of cut (`!') and `is' here too.
     
   - We've finally implemented generic input-output predicates,
-    namely io__print/3, io__write/3, and io__read/3,
-    using the the functions and predicates described above.
-    We've also added io__nl/3 to print a newline.
-    Together with the change to make module qualifiers optional,
-    these changes make performing output quite a bit simpler;
-    it's nice to be able to write `print("Foo = "), print(Foo), nl'.
+    namely io__print/3, io__write/3, and io__read/3, using the the
+    functions and predicates described above.  These can read or write
+    data of any type.  We've also added io__nl/3 to print a newline.
+    Together with the change to make module qualifiers optional, these
+    changes make performing output quite a bit simpler; it's nice to be
+    able to write `print("Foo = "), print(Foo), nl'.
+
+  - We've also added generic predicates io__write_binary/3 and
+    io__read_binary/3, for doing binary I/O on values of any type.
+    (The current implementations actually just call io__read/3 and
+    io__write/3 respectively, though, so they're not maximally efficient.)
 
-  - The predicates term_to_type/2 and type_to_term/2 are now implemented.
+  - The predicates term_to_type/2 and type_to_term/2, which convert
+    values of any type to or from type `term', are now implemented.
 
   - We have a new module called benchmarking.m to make benchmarking easier.
     The predicate report_stats, which used to be in std_util, is now
@@ -183,10 +199,11 @@
     that also do I/O.  Also, we've added list__map_foldl/5, which is an
     amalgam of list__map/3 and list__foldl/4.
 
-  - We've added a new type of option data: maybe_string(maybe(string)).  See
-    library/getopt.m for details.  Also added to getopt are some missing
-    option-lookup predicates: getopt__lookup_accumulating_option/3 and
-    getopt__lookup_maybe_string_option/3.
+  - We've added a new constructor `maybe_string' to getopt's option_data
+    type, for parsing optional string-valued command-line arguments. 
+    See library/getopt.m for details.  Also added to getopt are some
+    missing option-lookup predicates: getopt__lookup_accumulating_option/3
+    and getopt__lookup_maybe_string_option/3.
 
   - We've added string__foldl to the library.  It has the same semantics as
     (string__to_char_list(String, Chars), list__foldl(Pred, Chars, Acc0, Acc))

-- 
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.



More information about the developers mailing list