-
Notifications
You must be signed in to change notification settings - Fork 59
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
Both DataValues and RCall export isna #274
Comments
To be honest, I don't think the status quo (forcing users to qualify their usage) is that big of a problem. |
You know my position already: move DataValues to |
I probably put the Among the proposed solutions my least favorite is having |
I am with @simonbyrne. Unless there are enough reasons to support DataValues as the default coninical Julia missing type for R objects, I don’t see depedency of DataValues.jl is a viable option. |
closing as stale |
I just realized that on julia 1.0, both DataValues.jl and RCall.jl are exporting a
isna
function. That is not ideal, because I would think that both packages will end up being loaded simultaneously quite often and then folks can't properly use the function...Here is some background info: DataValues.jl uses
NA
as its value for missing data. On julia 0.6 and earlier, it usedisnull
for checking for missing data. I never liked that and always thought it should beisna
, but then DataArrays.jl exportedisna
for a long time and I didn't want to take a dependency on it. Plus, after the transition toMissing
, DataArrays.jl of course also no longer exportedisna
. At that point I still didn't switch over toisna
because I couldn't be sure what version of DataArrays.jl folks would actually have, and I didn't want any conflicts to arise. But the julia 1.0 version of DataValues.jl now makesisna
the main and only way to check for missing values. I had thought that no other package was still using it, so I thought it would be unproblematic to "claim" that name forDataValue
. I wasn't aware that RCall.jl was also using it.Not sure what the best solution is... Here are some options: 1) RCall.jl uses something else (maybe
ismissing
?) instead, 2) DataValues.jl uses something else, 3) RCall.jl takes a dependency on DataValues.jl and we all use the sameisna
function or 4) we create a common root package that only has aisna
definition in it, both RCall.jl and DataValues.jl take a dep on that and we again share a common function...I don't know how problematic 1) would be, obviously from my point of view it would solve the problem, but I could entirely understand if that is not an option. Same for 3). I think I'm 99% certain that 2) is not really an option from the Queryverse point of view (a fair number of reasons, happy to explain, if anyone is interested). 4) seems a bit silly, but on the other hand it would solve this issue without anyone having to really make any difficult changes. Maybe there are other options out there as well?
CC @nalimilan
The text was updated successfully, but these errors were encountered: