That would be a breaking change.
@ChenNingCong’s suggestion could still be implemented in a more soft sense by updating the docs to recommend only using
ifelse for that certain subset of types. We could also have a little section on
ifelse in the performance section of the manual.
Why do you say that? If you made
ifelse generic, couldn’t you add methods to deal with more complex types and lower them to a series of select statements more intelligently?
And to ask a potentially dumb question: why can’t we make Julia’s frontend compiler aware of
ifelse? What does making the compiler ‘aware’ mean?