[mercury-users] existential constraints

Michael Day mcda at students.cs.mu.oz.au
Wed Jul 26 12:29:20 AEST 2000


Which of the following declarations is more correct:

:- all [S] some [T] ((pred foo(S, T) => c2(T)) <= c1(S)).
:- mode foo(in, out) is det.
:- mode foo(out, in) is det.

:- all [S] some [T] ((pred foo(T, S) => c2(T)) <= c1(S)).
:- mode foo(in, out) is det.
:- mode foo(out, in) is det.

I really have trouble making sense of the interaction between modes, type
class constraints and existential qualification.

Incidentally, will the 'new functor' syntax for existentially quanitifed
data go away any time soon?

Michael

--------------------------------------------------------------------------
mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the users mailing list