-
Notifications
You must be signed in to change notification settings - Fork 40
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 implementations in src/distrs/norm.jl to Distributions #42
Comments
I'll have to think a little more but I'm wondering if it would be easier just to move all of |
@andreasnoack I don't think you want to move everything in At present there is an indirect dependence of In my vision |
I think it would be easier to transition to native implementations if all of the functionality in |
I checked and there are some packages that require julia> setdiff(Pkg.dependents("StatsFuns"), union(Pkg.dependents("Distributions"), Pkg.dependents("StatsBase")))
6-element Array{AbstractString,1}:
"RiemannTheta"
"DynamicHMC"
"Erdos"
"Divergences"
"HilbertSchmidtIndependenceCriterion"
"LogProbs" |
Yes. We'd have to open some PRs against those packages to fix them but I don't think it should too much work. |
I agree that it is a good idea to move the functions related to distributions back into the My recollection is that the functions linking to libRmath were initially a separate package then became part of the Distributions package. Do you remember why Dahua decided to move them here? I am asking because I don't want to transfer these functions back to |
Dahua factored these out without much discussion and announced it in https://groups.google.com/forum/#!topic/julia-stats/nOObNwKM1b8. As you can see from the thread, I also thought it was a good idea but less than a year after, I'd changed my mind, https://groups.google.com/forum/#!searchin/julia-stats/statsfuns%7Csort:date/julia-stats/SRBpQnhDw54/FzE1O9PBJgAJ. It might be that a few people like the C-ish API here in StatsFuns but I think it is better to focus only on the Distributions API. |
As far as I can see the collection of "d-p-q-r" functions (to use the R terminology) in
src/distrs/norm.jl
is complete. I propose that the implementations (not the functions themselves) be moved toDistributions/src/univariate/continuous/normal.jl
and the functions here be deprecated.The deprecation might be a bit tricky because the
Distributions
package requires theStatsFuns
package, not the other way around. The situation here would be that to deprecate functions inStatsFuns
you need to ensure that a certain version ofDistributions
or later is available. Given that user code and other packages "should" not call these functions directly that may not be too much of a problem. But it is a tricky situation.Where should a function like
_norminvlogcdf_impl
and its dependencies go? I think it should migrate with the other code toDistributions
but then does it need a new name to avoid a conflict with the function here during the deprecation period?I hope what I am asking makes sense. Ping me if this is too confusing. I have only had one cup of coffee so this might be complete nonsense.
The text was updated successfully, but these errors were encountered: