On 24/06/2012 01:10, Eric Niebler wrote:

As for what is not changing:

Grammars, Transforms and Algorithms
===================================
It would be wonderful if there were a more natural syntax for describing
proto algorithms rather than with structs, function objects, proto::or_,
proto::when, and friends. If there is one, I haven't found it yet. On
the up side, it means that many current proto-based libraries can be
upgraded with little effort. On the down side, the learning curve will
still be pretty steep. If anybody has ideas for how to use C++11 to
simplify pattern matching and the definition of recursive tree
transformation algorithms, I'm all ears.

There is a function which is very simple and that I found to be very useful when dealing with expression trees.

unpack(e, f0, f1) which calls
f0(f1(e.child0), f1(e.child1), ..., f1(e.childN))

I can do recursion or not with the right f1, and I can 'unpack' an expression to an n-ary operation f0.

Here f0 is typically a function that uses its own overloading-based dispatching mechanism.


It needs clang trunk to compile.

Why doesn't it work with GCC?
_______________________________________________
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto

Reply via email to