Is Pkg2 eventually going away? and Pkg3 will be merged into Base? (or not merged but made a standard-external-library in some way that does not require Pkg itself to manage)
yes
Cool Merged into Base? (or the latter some other form of standard-external-library) (edited)
it will live in the stdlib except for the part that is necessary for loading code
Is there a good post somewhere I can read to understand how standard-lib is going to work? I haven't followed the issues in a while. Last I saw it was like "Not 100% sure how it will work, but definitely want it."
Ok. So in short:
- stdlib is a folder that lives in the julia repo.
- inside this folder there are folders for each standard package.
- a standard package folder looks like a Package repo in terms of its structure.
- a standard package folder could actually BE a git submodule to a package repo (in theory, but presently none are).
- standard package docs endup in the main julia manual
- standard packages are tested as part of testing julia
- standard packages on a per package level decide if they are going to be built into sysimg
- installing julia always installs all standard packages (i.e. the whole standard library) Am I correct so far? Things I am less sure on:
- standard packages are treated as separate to Julia for SemVer purposes?
- standard packages can't be updated without updating julia?
- standard packages do not interact with Pkg at all.
we could have options for only testing base without stdlib, since that would be the first thing you’d want to get working and it’s standalone there could also be a mode for installing less than all of that stuff
via Makefile options
sure it should also be possible to opt into using newer or older versions of stdlib packages than your current Julia version which would allow us to evolve stdlib packages at a different rate than Julia itself for example, introducing Dates 2.0 with an incompatible API if we need to
without having to release it as part of Julia 2.0? (edited) (or at least it could be made available many many months before Julia 2.0)
yes
you would probably only get shipped one version of each stdlib package by default, but you would still be able to use older / newer versions of stdlib packages by installing them the way normal package versions are installed this all needs to be worked out in greater fullness, but that’s the plan
Thanks