JuliaAI / ScientificTypes.jl

An API for dispatching on the "scientific" type of data instead of the machine type
MIT License
96 stars 8 forks source link

Adding a default convention? #95

Closed juliohm closed 4 years ago

juliohm commented 4 years ago

This package is really nice. I wonder if we could have a default convention shipped with it? The MLJ convention is naturally a good default, could you please explain the need for another package MLJScientificTypes.jl just for implementing this default convention? Wouldn't it be ok to just call this convention "Default" and implement it here instead, for anyone that may be interested in scientific types, but not necessarily interested in MLJ.jl?

tlienart commented 4 years ago

We wanted MLJModelInterface to be as light as possible, as such it only needs ScientificTypes which loads zero deps; MLJScientificTypes by contrast pulls in Tables.jl and CategoricalArrays.jl with it.

Basically ScientificTypes should be ignored by users unless they intend to develop their own convention; if you're happy with the convention as it's defined in MLJScientificTypes then you should use (only) that.

(these packages could respectively have been named ScientificTypesBase and ScientificType but that would have caused other issues, but that's how the current situation can be understood, ScientificType is effectively a "ScientificTypesBase")

juliohm commented 4 years ago

Thank you @tlienart, perhaps the rename you suggested above would solve the issue? MLJScientificTypes.jl isn't an ideal name, specially if people are not interested in the MLJ stack.

tlienart commented 4 years ago

Yeah but I don't think this is going to happen.

If you can't bear having the MLJ in the name, you could fork it and call it something else?

juliohm commented 4 years ago

Makes sense, I am just confused how general concepts are receiving the prefix MLJ. I will see what can be done.