[ Modules | Reference Manual | Alphabetic Index ]
unlock(+Module, +Password)
Unlocks the access to the module Module, if the password given in Password
is correct
- Module
- Atom.
- Password
- String.
Description
unlock(Module, Password) unlock a module previously locked with
lock_pass(Password). The access to the module is now again possible.
An error is raised (and the module not unlocked) when trying to unlock a
module with a wrong password or when trying to unlock a module locked
with lock/0.
Modes and Determinism
Exceptions
- (4) instantiation fault
- Module or Password is/are not instantiated.
- (5) type error
- Module is instantiated, but not to an atom or Password is instantiated but not to a string.
- (80) not a module
- Module is not a module.
- (82) trying to access a locked module
- Trying to access a locked module Module
- (98) key not correct
- Key not correct
Examples
% After compiling the following code:
:- module(m).
:- export pub/0.
pub :- writeln(pub).
priv :- writeln(priv).
:- lock_pass("secret").
?- module(m).
trying to access a locked module in module(m)
?- call(pub) @ m.
pub
yes.
?- call(priv) @ m.
trying to access a locked module in priv
?- assert(foo) @ m.
trying to access a locked module in assert_(foo, m)
?- unlock(m, "pass").
key not correct in unlock(m, "pass")
?- unlock(m, "secret").
yes.
?- call(priv) @ m.
priv
yes.
?- assert(foo) @ m.
yes.
See Also
lock / 0, lock_pass / 1, get_module_info / 3