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)