[m-dev.] Dependent insts

Fergus Henderson fjh at cs.mu.OZ.AU
Thu Mar 11 09:17:55 AEDT 1999


On 11-Mar-1999, Thomas Charles Conway <conway at hydra.cs.mu.oz.au> wrote:
> On Wed, Mar 10, 1999 at 11:15:49PM EST, Fergus Henderson wrote:
> > The complicated cases come where you have things like
> > 
> > 	:- inst isspecial = bound((
> > 			(bound("builtin") / bound("solutions"))
> > 		;	(bound("float") / bound("plus"))
> > 		)).
> > 
> > 	:- mode p(out(isspecial)).
> > 	:- mode q(out(isspecial)).
> > 
> > 	p(X) :-
> > 		q(X0),
> > 		X0 = Y0/Z0,
> > 		...
> > 		X = Y0/Z0.
> > 
> > Here it's not sufficient to keep track of the inst of each variable;
> > because if you just look at the insts of Y0 and Z0, you can't tell
> > that X won't be bound to `"float"/"solutions"'.
> 
> Sounds like an aliasing problem to me.

Well, suffice it to say that it is a problem.

If you think the solution is simple, you're welcome to go ahead
and implement it.  Personally, however, I suspect it would not
be at all simple.

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