
Maurizio Vitale wrote:
On May 20, 2007, at 4:26 PM, Eric Niebler wrote:
3) You haven't said what proto::if_ and proto::not_ should be.
I didn't indeed. The reason is that I was concerned with tags that can appear in expressions and have a different name in MPL. Then if_ wouldn't be a problem and not_ could stay (I'd say should stay) because has the same meaning as mpl::not_.
No, mpl::not_ corresponds to proto::logical_not, and proto::not_ sticks out just as proto::or_ does.
If you want to change both, a possibility would when (for if_) and unless (for not_).
Interesting. All, any, when, and unless are not unreasonable. I know you retracted this suggestion in another message, but I want you to bring it up again when proto is under review. Naming is super-important, and I want more feedback on this issue. I'll remind you when the time comes. The mpl names come from the standard. "bitor" is an alternate token for |. Extending this, bitor_eq is an alternate token for |=, which suggests that bitwise_or_assign should be bitor_eq_. But then what about operator=? Should that be eq or eq_? These are a bit too terse for my taste, and could be confused with ==, which is equal_to. And <functional> has equal_to but greater_equal (not greater_equal_to). A perfectly consistent set of names may simply be impossible. -- Eric Niebler Boost Consulting www.boost-consulting.com