
Daniel Walker wrote:
Does Phoenix allow side-effects or is it "pure" functional like Fusion and FC++? Does it allow modification of arguments by reference - either builtin references or reference_wrapper?
Yes. Placeholders are substituted with argument references, so you can do this: int i = 0; (++_1)(i); assert(1 == i); Local variables that appear in Phoenix lambdas are captured by value, unless you specify that you want them captured by reference. You can do that with phoenix::ref().
What is the status of the Phoenix msvc port? The documentation seems to indicate that it's possible but not necessarily forthcoming.
MSVC port? Phoenix works on MSVC and always has, AFAIK.
Is there any immediate plan to make Phoenix interoperable with the coming standard library's std::bind, std::placeholders, std::is_bind_expression, and std::is_placeholder?
I don't know. I do know that Phoenix has been ported to Proto in its entirety (by me), and this might be a nice addition for Phoenix v3. <snip lots>
One last thing - I noticed that FC++ was submitted for inclusion in Boost a few years back. What ever happened with that?
It was rejected. I seem to recall people feeling that it wasn't C++-ish enough. -- Eric Niebler BoostPro Computing http://www.boostpro.com