ExprFunctor is a more generic base class for dispatching, while itself can be used to build recursive visitors, the visitor is not the only use case for the ExprFunctor. For example, we use the functor to build a dispatching Rewriter callbacks in the recent non-recursive vistor.
Memoization could also have un-desired cosquences, if the translation depends on the context(e.g. if you are in the if and else branch, the results might be different). Due to these considerations, it is better to allow "no-surprise" and leave functors as simple as possible(thus no memoization) --- [Visit Topic](https://discuss.tvm.ai/t/missing-memoization-in-exprfunctor/6334/2) to respond. You are receiving this because you enabled mailing list mode. To unsubscribe from these emails, [click here](https://discuss.tvm.ai/email/unsubscribe/0ce4d8bc426f77d742394ef23a6f23d3c3efc54db3fc6ea47fea3bb874711ab0).