From: David Abrahams (dave_at_[hidden])
Date: 2008-04-01 08:41:28
Eric Niebler wrote:
> Unless I hear otherwise, I'll resolve the technical issues with Proto
> you raised as follows:
Keep in mind, we had a bad sleeping night with the baby...
> 1) The aliasing issue (proto::_left as a typedef for
> proto::transform::left) will be resolved by eliminating the "transform"
> namespace and everything in it.
I'm sorry, I don't recall having any aliasing issue. Can you relate
this to something specific I wrote?
> 2) The "functional" namespace will be renamed "functor".
That rubs me the wrong way, but it may not be worth fighting the tide.
The "official view of the C++ community" as I understand it, is that
ever calling function objects "functors" was a big mistake because that
term already has another meaning in category theory which as you know
spills over into type theory and thus CS, which is even expressed as a
language construct in ML. That said, people don't seem to have stopped
saying "functor" when they mean "function object," and I doubt *I* can
stop them. I guess the question is whether Boost will contribute to
that terminology problem or help solve it.
> 3) "visitor" will be renamed "data"
> 4) I don't intend to rename the "call" transform or the "function"
> tag/metafunction. (If I renamed "call" to "apply" like I suggested, then
> I should also rename "is_callable" to "is_applicable" or some such,
> which is awful, IMO.)
> 5) You can override an expression's domain with
"You" meaning "end users of libraries built with proto?"
> This gives a way to mix expressions from
> different domains in the same expression.
I take it as_expr already exists?
> If you object to any of these resolutions, holler.
You'll only hear a mild squawk from me, about "functor."
-- Dave Abrahams Boost Consulting http://boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk