5:- module(mutable_variables,
6 [new_bvar/2
7 ,is_bvar/1
8 ,b_put/2
9 ,b_get/2
10 ,new_nbvar/2
11 ,is_nbvar/1
12 ,nb_put/2
13 ,nb_get/2
14 ]). 15
16new_bvar(InitialValue,Var) :-
17 var(Var),
18 Var = bvar(InitialValue).
19
20new_nbvar(InitialValue,Var) :-
21 var(Var),
22 Var = nbvar(InitialValue).
23
24is_bvar(bvar(_)).
25
26is_nbvar(nbvar(_)).
27
28b_put(Var,Value) :-
29 Var = bvar(_),
30 setarg(1,Var,Value).
31
32nb_put(Var,Value) :-
33 Var = nbvar(_),
34 nb_setarg(1,Var,Value).
35
36b_get(bvar(Value),Value).
37
38nb_get(nbvar(Value),Value)