-
Notifications
You must be signed in to change notification settings - Fork 224
Proposal: Remove the code related to the Operator enumeration #527
Comments
I agree. The other issue is that some native types only implement some of the traits (e.g. @sundy-li @ritchie46 @houqp @yjshen , thoughts? |
I agree. 👍 |
I agree it's a good idea to not make them part of the core so downstream won't be forced to pull them in. But I think there is value in keeping the code and convert them into a feature or self-contained crate for the following two reasons:
|
@houqp , note that the kernels themselves are kept. I think the proposal is: use The issue with An equivalent problem exists in comparison |
Maybe We can add #[deprecated] first, and then completely delete these APIs after a few versions. |
Yeah, I only took a quick scan on the CPP code and noticed they have these comparison operators defined. But on a second thought, I think doing something just because the CPP code is doing it is not a good technical argument. Personally, I think writing That said, the current operator related code does more than just operator based function dispatching though. It also handles array type matching to provide high level APIs centered around Array trait object like other compute modules. The latter is the what I was suggesting us to keep to make the interface more consistent across compute modules and make the library a little bit easier for new users to adopt for less complicated applications. In short, I am 100% on board with removing all the operators. |
I recommend removing the Operator enumeration.
If arrow users build their own computing systems, they will generally not use the operator enumeration values defined by arrow, because there are often differences in the number of operators defined, or differences in classification, such as the lack of bitwise operators, and there may be more in the future for arithmetic operator.
Or lack some traits implementation, such as serde.
It is very boilerplate code to distribute various operations based on Operator. If it can be removed, the amount of arrow code can be greatly reduced.
The text was updated successfully, but these errors were encountered: