[m-dev.] For review: Add implementation of reference types (global heap)
Fergus Henderson
fjh at cs.mu.OZ.AU
Wed Jun 10 16:06:26 AEST 1998
On 10-Jun-1998, Peter Schachte <pets at students.cs.mu.oz.au> wrote:
> And, of course, avoid that bug such definitions tickle in
> the Mercury compiler. ;-)
Incidentally, that bug is no longer a bug, it's now just a missing feature ;-)
That is, the compiler reports "Sorry, not implemented", rather than
generating incorrect code.
bash$ mmc -E a.m
a.m:004: Sorry, not implemented: polymorphic equivalence type,
a.m:004: with monomorphic definition, exported as abstract type.
A quick work-around is just export the type as a concrete type,
by putting the type definition in the interface section.
A better work-around is to use a "wrapper" type, with just one
functor that has just one arg, instead of an equivalence type.
(There's no performance penalty for this -- the compiler will
optimize the wrapper away.)
bash$
--
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