-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move DArrays from Base #10333
Comments
👍, I can do this. |
I'm fine with this. |
What about |
I am fine too. I think SharedArrays should continue to be in Base, at least till we get threading support in. Only concern - do we have any idea how many real users of DArrays's are there? I know 0.4 is all about breaking changes, but we should generally try and minimize stuff like name changes, package changes, etc in the user community. |
I think SharedArrays should stay. Even after threading, we will want them, but perhaps then they can be in a package. There are probably a few users of DArrays, but they are likely to be cutting edge, since the capabilities do not compose very well. The current APIs could be a lot better too. |
great! It seems #5155 is slowly happening... |
I was using DArrays for a few computations ... How do you actually use the packages in the new location? DistributedArrays is unknown and Pkg.add("JuliaParallel"), Pkg.add("DistributedArrays") or similar is not working. |
@mwil if you want to stay on 0.4, you can try |
Why hasn't the package been registered? |
Can we please not leave users out in the cold, and actually do this correctly, making sure things are usable (registered, tested, working on both 0.3 and 0.4) before we take them out of base? This won't be the last time we do this. |
@tkelman Nobody knows how to migrate anything out of Base correctly. I doubt very much that we can maintain backwards compatibility. Nobody figured out how to do it for |
Whatever happened with StatsBase was well over a year ago, I don't know what went wrong there. Now we're stumbling over wrong ways to do this by taking things out very hastily before replacements are working correctly, let's not keep repeating this pattern. Are there any specific challenges to making DistributedArrays.jl work well on both 0.3 and 0.4? Some good first steps would be broadly announcing on the mailing lists once there's consensus that some functionality should be migrated to a package, getting current users of that functionality to migrate to the package version before merging the PR that deletes it from base, and getting things to a working state with at least the obvious kinks worked out first. |
I agree that removing a module from
The only solution is to rename everything, but then you have to deal with the pain of synchronizing the name change globally, which was the case in the |
Conditional loading in Are there problems with this? |
Probably julia-users at this point. It's been six months since 0.3.0, suggesting people stay away from 0.4 isn't going to be a viable response for much longer.
When there's a clear immediate upside and good reason for the breakage, of course it needs to happen occasionally. Here code was just deleted, the upside is in modularity and development constraints of being inside vs outside of base but there's no urgency on those points. It's entirely possible to recognize those particular upsides before even removing any code or causing any breakage.
A migration is being forced anyway. Getting various other packages to use the new Graphics version was done quickly enough, but in retrospect it should not have used the same name as the base module.
Sounds worth trying. Especially if it can be done using only 0.3 features, without needing one of #6195 #6884 or #7449. |
Unlike the
The problems with
I don't see how |
Short-term solution, why not leave things unexported from the under-development replacement versions until they've been tested and evaluated as working? Should be easy enough to test things fully-qualified at first, or only import them into local modules to avoid the conflicting imports into the main namespace. Clearly we need a better long-term solution for this problem, and to be more careful about touching the global namespace. Should we consider un-exporting some lesser-used modules within base to lessen this transition pain?
It sounds from JuliaIO/HDF5.jl#216 like |
I think that's the only viable solution right now - keep previously exported identifiers untouched and develop new replacements in a different namespace or with different identifiers. |
I am with @tkelman that it would be good to first create and register the package before removing it. But other than that I cannot see whats the issue. Master is not(!) for users and I cannot see the point of discussing these things on the julia-users mailing list. A half year since the last release is not an argument, we still should not encourage using 0.4dev for users. This leads to the same situation as in 0.3 where we had a rolling release in the end. Personally I do not fully understand the point of the Compat.jl package since IMHO packages should not developed against master. Better make more regular Julia releases instead if the features are really that important. |
This is the point. Features are important, staged functions and performance improvements and other changes are resulting in a group of users (and that big gray area between users and contributors) who do work against master. That's inherently risky of them, but letting them know things will be moving ahead of time is the best way to get their help. More regular major releases is a good goal, but that's going to need feature definition, stabilization, and wide testing for the RC stage. But anyway we're way off topic. |
I think it needs destabilizing on master to get features in. And justifications on julia mailing lists while the primary development platform is github seems redundant. Don't think that this is off-topic at all since you were not happy how this got merged. |
I believe the DistributedArrays.jl package has to still be added to METADATA. Any reason not to do it yet? |
The package is registered and tagged now that all the functionality is working again. |
👍 |
We need a ton of functionality to be developed on DArrays, and perhaps even experimentation with layouts and such. I feel it is best to move the DArray functionality out of Base into the JuliaParallel organization (https://github.com/JuliaParallel) and develop it there.
The text was updated successfully, but these errors were encountered: