icexelloss commented on code in PR #36673:
URL: https://github.com/apache/arrow/pull/36673#discussion_r1272280533


##########
python/pyarrow/_compute.pyx:
##########
@@ -2789,6 +2794,83 @@ def register_scalar_function(func, function_name, 
function_doc, in_types, out_ty
                                            out_type, func_registry)
 
 
+def register_vector_function(func, function_name, function_doc, in_types, 
out_type,
+                             func_registry=None):
+    """
+    Register a user-defined vector function.
+
+    This API is EXPERIMENTAL.
+
+    A vector function is a function that executes vector
+    operations on arrays. Unlike scalar function, vector
+    function often has a grouping semantics and the output
+    for a row depends on other rows. A typical example
+    of vector function is "rank".

Review Comment:
   > I'm just wondering if we can describe vector functions not as "a function 
whose output depends on other rows" (since this is the definition of window 
functions) but as "a function whose output may depend on other rows and whose 
output length does not need to be the same as the input length".
   
   I think I understand what you are saying. N -> N with grouping semantics has 
been traditional called "window functions" and I am fine with reserving the 
word "window function" so I agree we can make vector function description more 
specific. I will make the change to the doc. 
   
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to