felipecrv commented on PR #42106:
URL: https://github.com/apache/arrow/pull/42106#issuecomment-2164234315

   > I didn't make the special form the fourth impl of Expression as I found 
for most cases, e.g. creation and binding, a special form is just a Call - 
there would be too much duplicated code if we differentiate SpeicalForm from 
Call. So I made it a Call with a special flag, and did little specialization in 
binding and evaluation.
   
   That duplication is a feature, not a bug. It's better to separate the cases 
than to have a `bool` splitting `Call` into two types. `Impl` already contains 
the variant tag that will tell you if something is a `Call` or an `SpecialForm`.
   
   And as I said above, special-forms don't need all the complex things that 
`Call`s need.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to