Just curious, I’ve looked on github but haven’t found much information.
See the issues linked in #25046, and also #25207. TL;DR: it had a few problems, and Revise.jl has proven to be a better solution.
I saw these but having a few issues didn’t seem like a sufficient reason for removing a feature (otherwise not much would be left). And Revise doesn’t really implement the same feature (giving you a clean space to work with).
Personally I don’t mind the change too much because I don’t use workspace
that often, but I’m a bit surprised there’s no stronger reasons to remove it.
My perception is that it was too much of a hassle to do right and at the same time (or because of this?) not used widely, and in the meantime Revise.jl fixed the same problem (with a different solution).
workspace()
was a bit cheaper than simply restarting the image, but had all kinds of quirks. I am hoping Julia is moving in the direction that I rarely ever need anything like this, eg #22721.
That’s why I used workspace()
, and I think its unfortunate that its going away.
Coming from R, I’m used to rm(localobject)
and a fast ls()
(vs slow whos()
) in the REPL. I know you can set localobject=0
to save the memory, but in an exploratory REPL session this gets cluttered. From what I can see, the issues around rm()
have a complex history that makes it infeasible or somehow unthinkable for Julia. I tend to think of workspace()
is kind of a nuclear option. Revise.jl is lovely and a huge boost beyond R’s REPL.
In short, I wouldn’t miss the loss of workspace()
if there were a rm()
or if restarting Julia were faster. But neither of those seems likely, right?