recover deleted stuff
This commit is contained in:
parent
a9fa343bad
commit
db8d44efdc
@ -110,6 +110,30 @@ assert(C) :-
|
|||||||
asserta_static(Mod:(H :- B))
|
asserta_static(Mod:(H :- B))
|
||||||
).
|
).
|
||||||
|
|
||||||
|
'$assert_clause2'(HI,BI,Mod,Where,R,P) :-
|
||||||
|
'$expand_clause'((HI :- BI),C0,C,Mod,HM),
|
||||||
|
'$assert_clause3'(C0,C,HM,Where,R,P).
|
||||||
|
|
||||||
|
'$assert_clause3'(C0,C,Mod,Where,R,P) :-
|
||||||
|
'$check_head_and_body'(C,H,B,P),
|
||||||
|
( '$is_log_updatable'(H, Mod) ->
|
||||||
|
'$compile_dynamic'((H :- B), Where, C0, Mod, R)
|
||||||
|
;
|
||||||
|
'$is_dynamic'(H, Mod) ->
|
||||||
|
'$assertat_d'(Where, H, B, C0, Mod, R)
|
||||||
|
;
|
||||||
|
'$undefined'(H,Mod) ->
|
||||||
|
functor(H, Na, Ar),
|
||||||
|
dynamic(Mod:Na/Ar),
|
||||||
|
'$assert_clause3'(C0,C,Mod,Where,R,P)
|
||||||
|
;
|
||||||
|
current_prolog_flag(language, sicstus) -> % I can assert over static facts in YAP mode
|
||||||
|
'$assert1'(Where,C,C0,Mod,H)
|
||||||
|
;
|
||||||
|
functor(H, Na, Ar),
|
||||||
|
'$do_error'(permission_error(modify,static_procedure,Na/Ar),P)
|
||||||
|
).
|
||||||
|
|
||||||
/** @pred asserta(+ _C_,- _R_)
|
/** @pred asserta(+ _C_,- _R_)
|
||||||
|
|
||||||
The same as `asserta(C)` but unifying _R_ with
|
The same as `asserta(C)` but unifying _R_ with
|
||||||
|
Reference in New Issue
Block a user