Is ther any way to protect variables used in a SKILL procedure, so that it doesn't get changed by any other procedure? Making private using let/prog is a get around. Is there any way to do the same for globals too? Like attaching a set of variables to a set of processes, so that only those procedures would be able to change them.
Maybe the documentation helps here "SKILL Language User Guide",
Chapter 10 "Delivering Products", Section "Protecting Functions and Variables".
In reply to berndf:
Also, you might want to take a look at the chapter in the same manual on SKILL++ (two chapters - "About SKILL++ and SKILL" and "Using SKILL++"). This covers how you can create closures and packages to hide functions and variables - essentially make private variables which are shared between several functions in a lexical scope.
This is the way I tend to do this kind of thing rather than relying on write protection.