some tests

This commit is contained in:
Vítor Santos Costa 2016-01-03 13:54:14 +00:00
parent 1c5b6c3687
commit bc53e8bae9
2 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,18 @@
% :- library(test).
%:- multifile ytest:test/4.
:- source.
:- [library(ytest)].
:- [library(ytest/preds)].
meta_expand(InputCl, C1) :-
source_module(SM),
'$yap_strip_module'(SM:InputCl, M, ICl),
'$expand_a_clause'( M:ICl, SM, C1, _CO).
:- [meta_tests].
:- run_tests.

View File

@ -0,0 +1,38 @@
:- source.
:- [library(ytest)].
:- [library(hacks)].
:- [meta_tests].
meta_expand( Clause, Canon) :-
source_module(M),
indicator( M:Clause, I, _J),
dynamic( I ),
assert(Clause, R),
clause(J, B, R),
fully_strip_module(J, MH, H),
( MH == M
->
HF = H
;
HF = MH:H
),
( B == true
->
Canon = HF
;
Canon = ( HF :- B )
),
erase(R).
indicator(MC, HM:N/A, HM:G0) :-
fully_strip_module(MC, M, C),
( C = ( H:- _) -> true ; C = H),
fully_strip_module(M:H, HM, HF),
functor(HF, N, A),
functor(G0, N, A).
:- initialization run_tests.