mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-18 02:43:40 +00:00
30 lines
730 B
Mathematica
30 lines
730 B
Mathematica
%---------------------------------------------------------------------------%
|
|
% vim: ts=4 sw=4 et ft=mercury
|
|
%---------------------------------------------------------------------------%
|
|
|
|
:- module complex_constraint_err.
|
|
:- interface.
|
|
|
|
:- import_module list.
|
|
:- import_module map.
|
|
:- import_module pair.
|
|
|
|
:- typeclass foo(A, B, C) <= (A -> B) where [].
|
|
:- typeclass bar(B, C) <= (B -> C) where [].
|
|
|
|
% Error: C is not determined.
|
|
:- pred t(A) <= (foo(A, B, C), bar(B, C1)).
|
|
:- mode t(in) is semidet.
|
|
|
|
% Error: X and Z are not determined.
|
|
:- pred u(A) <= (foo(A, pair(W, X1), map(Y, Z)), bar(W, Y), bar(X, list(Z))).
|
|
:- mode u(in) is semidet.
|
|
|
|
:- implementation.
|
|
|
|
t(_) :-
|
|
semidet_succeed.
|
|
|
|
u(_) :-
|
|
semidet_succeed.
|