more documentation changes
Fergus Henderson
fjh at cs.mu.oz.au
Sun Jul 27 03:38:23 AEST 1997
Update the documentation in preparation for the next release.
BUGS:
Add an entry for the one bug currently on my outstanding
bugs list that is not already documented either here on
in the LIMITATIONS file.
RELEASE_NOTES:
Add mention of the stuff in the extras directory.
Mention that it works on Windows NT.
cvs diff: Diffing .
Index: BUGS
===================================================================
RCS file: /home/staff/zs/imp/mercury/BUGS,v
retrieving revision 1.5
diff -u -r1.5 BUGS
--- BUGS 1997/07/26 13:53:25 1.5
+++ BUGS 1997/07/26 15:28:35
@@ -103,3 +103,36 @@
sometimes prints out the wrong value for the PC.
-----------------------------------------------------------------------------
+Subject: bug with polymorphic abstract exported equivalence types
+Date: Tue, 27 May 1997 20:42:43 +1000 (EST)
+
+The compiler generates incorrect code for the following program.
+The problem is that at the call to f/1 in module bar, f/1 has
+type `func(foo(T)) = int', and so it passes the type_info in r1
+and the foo(T) (== int) in r2. But in the definition it has type
+`func(int) = int', so it just passes the int in r1.
+Similarly for the call to c/0.
+
+:- module foo.
+:- interface.
+:- func f(foo(T)) = int.
+:- type foo(T).
+:- func c = foo(int).
+:- implementation.
+:- import_module int.
+:- type foo(T) == int.
+
+f(X) = X + 1.
+
+c = 42.
+
+:- module bar.
+:- interface.
+:- import_module io.
+:- pred main(io__state::di, io__state::uo) is det.
+:- implementation.
+:- import_module foo.
+main -->
+ write(f(c)), nl.
+
+-----------------------------------------------------------------------------
Index: RELEASE_NOTES
===================================================================
RCS file: /home/staff/zs/imp/mercury/RELEASE_NOTES,v
retrieving revision 1.19
diff -u -r1.19 RELEASE_NOTES
--- RELEASE_NOTES 1996/07/26 09:19:01 1.19
+++ RELEASE_NOTES 1997/07/26 14:01:59
@@ -145,11 +145,9 @@
The current Mercury system has been tested extensively on Solaris 2.x,
IRIX 5.x, OSF/1.1, and Linux, and is also known to run on Ultrix 4.3,
BSDI 1.1, AIX, and HPUX; it should run without too many changes on
-other Unix variants as well. It also runs on Windows 95, using the
-gnu-win32 library, although the source distribution requires some
-tweaking to get it to work on Windows 95. If you do encounter any
-problems, please report them to <mercury-bugs at cs.mu.oz.au> (see the
-BUGS file).
+other Unix variants as well. It also runs on Windows 95 and Windows
+NT, using the gnu-win32 library. If you do encounter any problems,
+please report them to <mercury-bugs at cs.mu.oz.au> (see the BUGS file).
The current source distribution uses gcc as the compiler. We require gcc
version 2.6.3 or higher. You will also need GNU make version 3.69 or higher.
@@ -172,6 +170,10 @@
o the Mercury frequently asked questions list
o the Prolog to Mercury transition guide
o some sample Mercury programs
+ o some extra libraries for
+ - processing HTML forms using the CGI interface
+ - arithmetic on complex and imaginary numbers
+ - graphics using Tk and OpenGL
The Mercury distribution is available via anonymous ftp or WWW
from the following locations:
--
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