Made the namespace complete

parent 1600d25b
......@@ -1945,13 +1945,17 @@ subsubsection Example
@end verbatim
@subsection Controling module unification
Sigilling a variable with @code{X@@module_a} means that we will validate the curent data of the variable. It is desireable e.g. in sandboxing, that the module environment cannot change. To control this we can use the api
Sigilling a variable with @code{X@@module_a} means that we will validate the curent data of the variable. It is desireable e.g. in sandboxing that the module environment cannot change. In the future we will be able to produce sandboxing, but in the current version it is not safe to use it, but we have prepared a little with the current codebase. To control this we can use the api that can be reached from,
@code{scheme (use-modules (logic guile-log prolog namespace)).}
@code{prolog error_on_namespace_switch/0, fail_on_namespace_switch/0, ok_on_namespece_switch/0}, with the obvious semantic.
Also to get an handle to restrict and guard this information one may use,
@code{get_namespace_switch_handle(Handle)}, then if handle can be used by the dynamic features framework and make sure that we will never success although we move from state to state friously and a value can be guaranteed to be fixed inside a code segment.
@code{get_namespace_switch_handle(Handle)},
then if handle can be used by the dynamic features framework and make sure that we will never success although we move from state to state friously and a value can be guaranteed to be fixed inside a code segment.
It's possible to specify a whitelist to handle if one allow changes of namespaces in a unification that include namespacing e.g.
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment