
"Tobias Schwinger" wrote :
Honest answer: I belive this idea is no good.
If I need numbers It's doesn't mean that user will see them. I'm just going to put unique number to each tree shape. And use with maximum value to remove disambiguos situations.
Is it necessary to specify such rules ?
I don't know. Do you know any languages where n-arity operators are built-in? Actually C++ was going to have them, but it wasn't accepted. Gotta look at that paper.
Isn't it enough to tell your lib operator + and operator * are "expression object factories" rather than imperative routines ? Bad English. Please try again with simplier words :)
It might be possible to partially allow stuff like this using overloading [ ref. 14.5.5.2 ], but the possibility of creating ambigous situations can't be fully eliminated.
I'm already using this. But aforementioned examples were exclusions where that rule doesn't work. -- Pavel Chikulaev