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]
