[m-rev.] for review: implement unify and compare for .NET in Mercury
Tyson Dowd
trd at cs.mu.OZ.AU
Fri Mar 15 12:58:15 AEDT 2002
On 11-Mar-2002, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> On 20-Aug-2001, Tyson Dowd <trd at miscrit.be> wrote:
> >
> > Implement generic unify and compare in (mostly) Mercury instead of MC++.
> >
> > library/builtin.m:
> > Call into rtti_implementation to implement unify and compare for
> > the .NET backend.
> ...
> > +++ library/builtin.m 20 Aug 2001 13:37:18 -0000
> > @@ -428,87 +428,25 @@
> ...
> > +:- interface.
> > +:- pred call_rtti_generic_unify(T::in, T::in) is semidet.
> > +:- pred call_rtti_generic_compare(comparison_result::out, T::in, T::in) is det.
> > +:- implementation.
> > +:- use_module rtti_implementation.
>
> That should not be hidden in the middle of the module.
> It should go at the end of the `interface' section.
> And there should be some comments explaining what these predicates do.
>
> But why did it need to be added at all? Can't the code which needs it
> just call rtti_implementation__generic_unify directly?
At a guess I would say because you have to call it from MC++, which
means you would have create a dependency of builtin.dll on
rtti_implementation.dll, which would almost certainly be a circular
depenency.
There are probably ways in which you can work around this (but they may
have their own problems too).
--
Tyson Dowd #
# Surreal humour isn't everyone's cup of fur.
trd at cs.mu.oz.au #
http://www.cs.mu.oz.au/~trd #
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list