polish freeze.pl and dif.pl
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
:- module(dif, [dif/2]).
|
||||
|
||||
:- use_module(library(atts)).
|
||||
:- use_module(library(control), [(\=)/2]).
|
||||
|
||||
:- attribute dif/2.
|
||||
|
||||
|
||||
@@ -21,13 +21,13 @@ freeze(X, Goal) :-
|
||||
put_atts(Fresh, frozen(Goal)),
|
||||
Fresh = X.
|
||||
|
||||
gather_freeze_goals(Attrs, _) :-
|
||||
gather_freeze_goals(Attrs, _, _) :-
|
||||
var(Attrs), !.
|
||||
gather_freeze_goals([frozen(X) | Attrs], [frozen(X) | Goals]) :-
|
||||
gather_freeze_goals(Attrs, Goals).
|
||||
gather_freeze_goals([_ | Attrs], Goals) :-
|
||||
gather_freeze_goals(Attrs, Goals).
|
||||
gather_freeze_goals([frozen(X) | Attrs], Var, [frozen(Var, X) | Goals]) :-
|
||||
gather_freeze_goals(Attrs, Var, Goals).
|
||||
gather_freeze_goals([_ | Attrs], Var, Goals) :-
|
||||
gather_freeze_goals(Attrs, Var, Goals).
|
||||
|
||||
attribute_goals(X, Goals) :-
|
||||
'$get_attr_list'(X, Attrs),
|
||||
gather_freeze_goals(Attrs, Goals).
|
||||
gather_freeze_goals(Attrs, X, Goals).
|
||||
|
||||
Reference in New Issue
Block a user