mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-13 04:44:39 +00:00
Update a few files in preparation for release 0.8.
Estimated hours taken: 0.25 Update a few files in preparation for release 0.8. BUGS: Delete one of the bugs from the list, since we have basically fixed that one. NEWS: s/typeclasses/type classes/g
This commit is contained in:
33
BUGS
33
BUGS
@@ -109,39 +109,6 @@ Date: Wed, 12 Jun 1996 15:45:59 +1000
|
||||
On the alpha, if the Mercury runtime catches a signal, it
|
||||
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.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Subject: inter-module optimization and abstract exported equivalence types.
|
||||
Date: Thu, 19 February 1998
|
||||
|
||||
4
NEWS
4
NEWS
@@ -159,7 +159,7 @@ Changes to the Mercury implementation:
|
||||
* The compiler can now perform type specialization.
|
||||
|
||||
Type specialization removes the overhead of polymorphic code, including
|
||||
code which uses typeclasses. The disadvantage is increased code size.
|
||||
code which uses type classes. The disadvantage is increased code size.
|
||||
Currently we do not perform inter-module type specialization.
|
||||
Type specialization is enabled by using the `--type-specialization' option.
|
||||
|
||||
@@ -280,7 +280,7 @@ Changes to the Mercury implementation:
|
||||
|
||||
* We've made the MERCURY_OPTIONS environment variable somewhat easier to use.
|
||||
|
||||
* Mtags is now able to produce tags for typeclass declarations. It is
|
||||
* Mtags is now able to produce tags for type class declarations. It is
|
||||
also able to produce tags files in the extended format supported by
|
||||
recent versions of Vim and Elvis. Do `mtags --help' for more
|
||||
information.
|
||||
|
||||
Reference in New Issue
Block a user