@Dennis The effect is almost identical to the current version. Currently, we generate a named namespace populated by Code, then copy everything into the root to allow running from Input. This version just creates an unnamed namespace and copies into root. Thus, root gets populated as before, but the random name doesn't pollute the workspace (and the wrapper cannot be detected from inside APL).
(think of an APL namespace as a JSON object, though it can contain programs/functions as well as data.)
You can "dot" into an APL namespace, so mynamespace.var gets the value of the var member of mynamespace. So with a bit of trickery, one can currently figure out what the intermediary namespace is called (TIO...). With this, one can't, as it is gone right away.
@Dennis Oh, you made the change already. Neat. Thanks.
@Dennis I could detect that by looking at the list of available names as seen from Input. Now it is empty.
@Dennis So now, ⎕FIX establishes an unnamed namespace (:namespace without name). This namespace only exists as long as there exists a reference to it. The result of ⎕FIX is such a ref. ⎕NS then does a deep copy of that namespace into the root (#), but now there are no more references to the new namespace, so it is discarded.
@Pavel Fedora isn't supported, and the list of dependencies sounds like I don't want to build it from source, especially since they mention that GCC 6 is incompatible with Hack.
@Pavel everyone has the same Windows is not true. There are three major consumer versions that come with different feature set, and a few (most likely rather different) server versions.
I mean, I'm trying to compile 2.3 GB of source code with a single core, 1GiB of physical RAM, and 1.9 GB of free disk space. What could possibly go wrong?
@ATaco Could you remove the second argument to fs.readFileSync in line 5 of MaybeLater's tokenizer.js? readFileSync doesn't take a callback, and this creates issues with the LTS version of Node I'm trying to switch to.
/opt/hack/dev/hhvm/third-party/webscalesqlclient/src/mysys_ssl/my_aes_openssl.cc:121:18: error: aggregate ‘EVP_CIPHER_CTX ctx’ has incomplete type and cannot be defined
EVP_CIPHER_CTX ctx;
^~~
Ok, wth. The fedora website is showing for me in Russian. I might have assumed this to be a weird one-time thing, but just yesterday I noticed hackmd also mysteriously switched to Russian for no reason at all.
@Dennis actually, could you take 2Deorstv off of TIO? No answers have been posted using it yet, and only 2 links have be generated. It really needs to undergo a rehaul, and I don't want people using it between now and when it's finished.
@Dennis Just FTR, I've been running three of these pretty much since that post. No issues so far, though I use them as build servers (clang needs RAM), not web servers.