Seems that a general concensus so far is we can put such as class that @masahi suggested as an internal header. It is always good to discuss the alernatives, the tradeoffs. Such discussions helps us to reach a better code quality overall.
When there are potentially disagreements, it is also useful for us to separate the factual accessments(e.g. additional base class reduces impl burden, the cost of duplication is 10 loc) from our preference(e.g. we think the cost of duplication can be afforded, or not). More often we can find that people agree on the factual accessments, but not necessarily the preference. When we start to agree on more things, it is easier to reach concensus and better design decision overall. As for the name of the `MemoizedExprFunctor` itself, I feel that the signature has divered from "functor" enough that perhaps we should chose another name. So that the "Functor" always takes a function signature as its template parameter. One possible candidate i can come up with is `MemoizedExprTranslater<R>`, would love to see if we have other thoughts. --- [Visit Topic](https://discuss.tvm.ai/t/missing-memoization-in-exprfunctor/6334/16) 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/10b033f91e3687740c590fa6c2aa3be8aed92d1e96f611fc69d2ec330c017918).