1:- module(attr,
2 [ get_attr_local/2,
3 put_attr_local/2,
4 del_attr_local/1
5 ]). 6:- meta_predicate
7 get_attr_local(:, -),
8 put_attr_local(:, +),
9 del_attr_local(:). 10
11:- multifile
12 user:goal_expansion/2. 13
14user:goal_expansion(get_attr_local(Var, Value),
15 get_attr(Var, Module, Value)) :-
16 prolog_load_context(module, Module).
17user:goal_expansion(put_attr_local(Var, Value),
18 put_attr(Var, Module, Value)) :-
19 prolog_load_context(module, Module).
20user:goal_expansion(del_attr_local(Var),
21 del_attr(Var, Module)) :-
22 prolog_load_context(module, Module).
23
24get_attr_local(M:Var, Value) :-
25 get_attr(Var, M, Value).
26put_attr_local(M:Var, Value) :-
27 put_attr(Var, M, Value).
28del_attr_local(M:Var) :-
29 del_attr(Var, M)