I would NOT like Revise be used as default, or added to Base, for one reason. But see opposite argument of mine below.
I’m trying to make Julia’s sysimage (and Base preferably) smaller, I’m already made startup 30% faster, so I would fear this addition, and it making it slower.
This applies for running a script, but much less for a REPL. I see what Revise is for:
Revise can assist with methodologies like test-driven development.
I think you assume people use the REPL for development (true, but not all).
Could we have our cake and eat it too, by only include Revise in the REPL (and by extension e.g. VS Code, I think it may already; and Pluto)?
On 1. I don’t like adding it to Base, it is (all of it?) precompiled into the sysimage. I suppose at least include
is… Could it stay as is, for running scripts, but if the REPL is used then an implied using Revise
is done, plus it would redefine include
to includet
? Or in some way using that conditionally.
About 2. it should be mentioned in Julia’s docs (is already?) at least somewhere, maybe not under Base.
I must admit I’m not a user of Revise (unlike 80%+), I know of it, and probably added it at some point (for any benefit?) without explicitly ever using includet
that I still sort of knew of. Maybe that means I’m not a serious Julia user…
Since you used that term “user”, then I think you had “developers” in mind, and I’m more of the latter, though they overlap for many users. I do note however that it seems not just for the REPL, but also I see at juliahub that Revise has 98 dependents. I’m not clear on why packages use it in production, and that might invalidate my scripting arguement, or not since putting it as a dependency in Project.toml should still work.
Do you know the potential speed-difference, if e.g. you just include a file ones? I’m not sure what the t does, I mean track, but at runtime, in case of no modifications, nor if you include the same file again?