Care to elaborate? I share your skepticism about union types, it sounds a little too good to be true, however I’m not aware of any other approach that would solve the problem anywhere near as elegantly.
The only alternative I’ve come up with that I haven’t seen mentioned is a DataFrame implementation that only allows Vector{<:AbstractFloat}
and Vector{<:Integer}
but presents these to humans in easily readable formats, i.e. as category strings or DateTime
when necessary. At first I thought this idea was crazy, but, as I thought about it more, I realized that this would present few obstacles to performing most computations. In my 9 years of doing physics I had exactly 0 problems dealing with missing data (I just used NaN
) and spent almost 0 time thinking about it. Suddenly when I started doing data science the topic became a huge clusterfuck (and this is hardly unique to Julia). My conclusion: strings and dates are evil and need to be destroyed.
I might try this at some point.