ExpressionComparer Block Support? #281
-
What's the criteria for I notice support was expanded in #239, but it does not support Block expressions. I suspect a Block is unlikely (impossible?) via the Fluent API and would probably be non trivial to compare, so are these unsupported on the left hand side of rules? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
@a046 the initial set of expressions was indeed selected based on what's possible to represent as an expression tree with fluent API, given what's supported by the compiler. And, as you said, the compiler does not support block expressions. And more expressions were added based on bug reports and feature requests from the community. I don't think there is a fundamental reason preventing comparison of block expressions, just a matter of a need. And so far there was none. |
Beta Was this translation helpful? Give feedback.
@a046 the initial set of expressions was indeed selected based on what's possible to represent as an expression tree with fluent API, given what's supported by the compiler. And, as you said, the compiler does not support block expressions. And more expressions were added based on bug reports and feature requests from the community. I don't think there is a fundamental reason preventing comparison of block expressions, just a matter of a need. And so far there was none.
There may be a compromise solution though - just treat unsupported types of expressions as not equal, hence give up node sharing, but at least not fail rule compilation. Does that sound like a reasonable path forward to you?