bootstrapping

This commit is contained in:
Vitor Santos Costa
2018-01-22 13:53:17 +00:00
parent fdf7bb516f
commit 9fce1e9ba2
23 changed files with 1479 additions and 3330 deletions

View File

@@ -337,10 +337,25 @@ call(G) :- '$execute'(G).
/** @pred incore( 0:P )
The same as call/1.
*/
incore(G) :- '$execute'(G).
/** @pred once( 0 G) is iso
Execute the goal _G_ only once. The predicate is defined by:
~~~~~{.prolog}
once(G) :- call(G), !.
~~~~~
Note that cuts inside once/1 can only cut the other goals inside
once/1.
*/
once(G) :-
strip_module(G, M, C),
'$meta_call'(C, M),
!.
(:- G) :- '$execute'(G), !.