mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-05-01 01:04:43 +00:00
Estimated hours taken: 2 Branches: main Replace deprecated mode and inst syntax in most of the test suite. TODO: Alter valid/mode_syntax.m when we start issuing warnings about the deprecated syntax. tests/*/*.m: Replace deprecated mode and inst syntax. Replace some uses of `:' as the module qualifier.
36 lines
520 B
Mathematica
36 lines
520 B
Mathematica
:- module quantifier.
|
|
|
|
:- interface.
|
|
|
|
:- import_module io.
|
|
|
|
:- pred main(io__state::di,io__state::uo) is det.
|
|
|
|
:- implementation.
|
|
|
|
:- import_module list, int.
|
|
|
|
:- pred sum(list(int),int).
|
|
:- mode sum(in,out) is det.
|
|
|
|
sum([],0).
|
|
sum([X|L],X + N1) :- sum(L,N1).
|
|
|
|
|
|
:- pred foo(pred(int)).
|
|
:- mode foo(free >> (pred(out) is det)) is det.
|
|
|
|
foo(sum([1,2,3])).
|
|
|
|
|
|
main -->
|
|
( {P = (pred(X :: out) is det :- X = 6),
|
|
foo(Q),
|
|
all [X] (call(P,X) <=> call(Q,X))}
|
|
->
|
|
print("equivalent")
|
|
;
|
|
print("not equivalent")
|
|
), nl.
|
|
|