Hidden namespacesI would love it if there was a possibility for hidden namespaces
Where
Names default to here(1);
new namespace("_Test");
get namespace names()
wouldn't show the "_Test" namespace.
ScriptingRe: Hidden namespacesMy first thought is for using namespaces in customer code that we don't want them to have access to. I can encrypt it but if there are flags in place the variable names and values show up. From what it seems I can't even make the variables in a namespace hidden.
Names default to here(1);
__x = 5;
show symbols();
new namespace("__Test",
{
a = 1,
__hidden = 2,
__hidden_function = function({},
print("hidden")
)
}
);
get namespaces();
I'm just trying to protect proprietary code a little better.
My big use case for JMP 14 is that I'm absolutely loving New Custom Function(). But to use that, it requires the use of a namespace.
Re: Hidden namespacesCan you explain the use case here a bit? What are the advantages of a hidden namespace?
Re: Hidden namespacesSorry, made the assumption that it would work the same way as hidden variables _Test. Private would work too.
Re: Hidden namespacesSorry, I misread your request. I agree your suggestion could be useful.
Just a suggestion, might want to specify a preferred usage; something like:
- New Namespace("_Test", Private|Invisible); , or
- New Namespace("_Test", Password ( "xyz" ) );
I'd prefer the first bullet usage.
Re: Hidden namespacesI want it NOT to show those names.
Re: Hidden namespaces@vince_faller , I have JMP PRO 14.3 on windows and here is a screen shot that get namespace names() does return the names. Below is a script that demonstates that show namespaces() with log capture is another alternative.

Names default to here(1);
new namespace("_Test");
new namespace("_Test2");
new namespace("_Test3");
_xx= Words(Trim(Log Capture(show namespaces())), "\!N");
show(_xx);
get namespace names();
Namespace("_Test3") << delete namespace;
get namespace names();
Namespace("_Test2") << delete namespace;
get namespace names();
Namespace("_Test") << delete namespace;
get namespace names();