Files
mercury/tests/declarative_debugger/library_forwarding.m
Zoltan Somogyi ecb5e4a9e6 Update the style of many test cases.
tests/declarative_debugger/*.m:
tests/exceptions/*.m:
tests/general/*.m:
tests/grade_subdirs/*.m:
tests/purity/*.m:
tests/submodules/*.m:
tests/typeclasses/*.m:
    Update programming style.

tests/declarative_debugger/*.inp:
    Update line numbers in breakpoint commands.
tests/declarative_debugger/*.exp:
    Update expected line numbers.

tests/exceptions/Mercury.options:
tests/general/Mercury.options:
    Disable some warnings that are irrelevant to the test.
2021-07-25 23:26:17 +10:00

53 lines
1.1 KiB
Mathematica

%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
%
% Procedures which just forward to the corresponding procedures
% in the library, to avoid differences in behaviour depending
% on whether the library was compiled with debugging enabled.
:- module library_forwarding.
:- interface.
:- func int + int = int.
:- func int * int = int.
:- func int - int = int.
:- func int // int = int.
:- func - int = int.
:- func int mod int = int.
:- pred int =< int.
:- mode in =< in is semidet.
:- pred int > int.
:- mode in > in is semidet.
:- pred semidet_succeed is semidet.
:- pred semidet_fail is semidet.
:- implementation.
:- import_module int.
X + Y = 'int__+'(X, Y).
X * Y = 'int__*'(X, Y).
X - Y = 'int__-'(X, Y).
X // Y = 'int__//'(X, Y).
- X = 'int__-'(X).
X mod Y = 'int__mod'(X, Y).
X =< Y :-
'int__=<'(X, Y).
X > Y :-
'int__>'(X, Y).
semidet_succeed :-
builtin.semidet_succeed.
semidet_fail :-
builtin.semidet_fail.