[mercury-users] unification and polymorphism

Peter David ROSS petdr at cs.mu.OZ.AU
Mon Aug 10 11:29:02 AEST 1998


On 06-Aug-1998, Peter Schachte <pets at students.cs.mu.oz.au> wrote:
> On Thu, 6 Aug 1998, Peter David ROSS wrote:
> 
> > ie. :- pragma type_spec(map__lookup/3, [K - (int:int)]).
> 
> That looks a bit odd.  K is a singlton variable.  Did you perhaps mean
> 
> 	:- pragma type_spec(map__lookup(K,_,_), [K - (int:int)])?
> 
If you want to get rid of the singleton variables then you need to write
the declaration as follows

:- pragma type_spec(map__lookup(map(K,V),K,V), [K - (int:int)])

My intention was that the variable refers to a type variable declared
in the pred declaration.

> And does int:int mean the same thing as int__int (ie, a module qualified
> type name)?
> 
Yes it is a module qualified type name.

Pete.



More information about the users mailing list