-
-
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 statistics out of Base #27152
move statistics out of Base #27152
Conversation
59448dc
to
66ea31d
Compare
Ok, this is done, I have some questions and/or comments about this PR, and specifically to people that don't like this.
Just my 2¢. |
I want to see |
Is it possible to rename
My understanding was that packages under |
I also have a case where I rely on statistics functions in Base (std, mean, cor), but don't need StatsBase. I'd prefer to see the following:
I like that |
I'm fine with having a |
A separation line could be to keep online algorithms eg. algo that can be computed in one pass with o(1) memory (streamable map-reduce) in stdlib, if not base and move more heavy lifting stuff to its own package. Josh Day has provided a good list of them |
I agree we have to keep some stats methods in the stdlib. Let's start by moving statistics.jl to a Statistics module, and then we can import things which are deemed essential from StatsBase. Here's a quick summary: Standard features which would be useful in the stdlib:
Things which may not be needed or may need to be adapted first:
|
Yes, that is the goal, but the functionality for that does not exist yet, but would most likely be very much simpler to implement if the standard libraries had their own repos. So I see this PR as a step in that direction without the stopover in
But then you effectively depend on all the code in
Yes! And I think that this PR is a step in that direction, as explained above and #27197. But also, if we have a |
Here's where I propose cutting the baby in half... Keep in
Put in
And merge |
I'm ok with that. I can certainly see removing |
Alright, I can update the PR. We shouldn't just move |
Sure, that would be fine too. |
f27a71d
to
fe2b611
Compare
Ok, so I here we get
on all three Travis bots, timeout on AppVeyor and
on CircleCI. What a time to be alive. Drop julia support for everything but FreeBSD? Anyway, passes locally. |
#27260 for those who are wondering why everything is broken. |
fix #25571 (comment) (included in JuliaStats/StatsBase.jl#379) fix #23769 (included in JuliaStats/StatsBase.jl#379) fix #27140
Lets merge when CI is done. |
These functions call through to Base functions, which is rendered impossible after their moval to StatsBase (JuliaLang/julia#27152). As StatsBase is using Compat, Compat cannot use StatsBase. In the future, these functions should print deprecation warinings also on 0.6, telling people how to get the desired functionality, once that is settled. Alternatively, we could duplicate the code now moved to StatsBase in Compat.
These functions call through to Base functions, which is rendered impossible after their moval to StatsBase (JuliaLang/julia#27152). As StatsBase is using Compat, Compat cannot use StatsBase. In the future, these functions should print deprecation warinings also on 0.6, telling people how to get the desired functionality, once that is settled. Alternatively, we could duplicate the code now moved to StatsBase in Compat.
These functions call through to Base functions, which is rendered impossible after their moval to StatsBase (JuliaLang/julia#27152). As StatsBase is using Compat, Compat cannot use StatsBase. In the future, these functions should print deprecation warinings also on 0.6, telling people how to get the desired functionality, once that is settled. Alternatively, we could duplicate the code now moved to StatsBase in Compat.
….7 (#559) These functions call through to Base functions, which is rendered impossible after their moval to StatsBase (JuliaLang/julia#27152). As StatsBase is using Compat, Compat cannot use StatsBase. In the future, these functions should print deprecation warinings also on 0.6, telling people how to get the desired functionality, once that is settled.
I think this was a huge mistake. #27374 |
Yes, pretty much. |
I don't think so. I think perhaps we may need an iteration or two on what belongs where, but the general direction is right. |
To be clear, Job post does not mean I think this is a huge mistake, I think it's the right direction too. |
see #27140