[ ECLiPSe Module built-in.|Group Index| Full 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(Module, 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/1 (error 82).

Fail Conditions

None.

Resatisfiable

No.

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)
Module is not a module.
(82)
Trying to access a locked module Module.

Examples


Success:
     [eclipse]: [user].
      :- module(m).
      :- export p/0.
      p :- writeln(hello).
      user        compiled 60 bytes in 0.00 seconds
     yes.
     [eclipse]: lock(m, "pass").
     yes.
     [eclipse]: module(m).
     trying to access a locked module in module(m)
     [eclipse]: import p/0 from m.
     yes.
     [eclipse]: p.
     hello
     yes.
     [eclipse]: call(p, m).
     trying to access a locked module in p
     [eclipse]: unlock(m, "pass").
     yes.
     [eclipse]: call(p, m).
     hello
     yes.

Error:
     unlock(M, "pass").                        (Error 4).
     unlock(m, Pass).                          (Error 4).
     unlock(1, "pass").                        (Error 5).
     unlock(not_a_module, "pass").             (Error 80).
     lock(m, "pass"), unlock(m, "wrong_pass"). (Error 82).
     lock(m), unlock(m, "pass").               (Error 82).


See Also

lock / 1, lock / 2