Boost logo

Boost :

Subject: Re: [boost] painless currying
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2011-08-24 18:04:46


On 08/24/2011 07:09 PM, Thomas Heller wrote:

> Of course, in order to transform such a call node though, you need to
> implement the specific behaviour in the operator() overloads of
> phoenix::actor.
> I can see this happening though ... could be almost trivial ... we
> could add a post processing actions step to the evaluation which
> returns false_ if the expression shouldnt be evaluated just yet, or
> true_ otherwise. A function_eval node (which is, in a way equivalent
> to your imaginary call node) can then select the proper action based
> on which types it holds. For that we can reuse the logic Eric
> proposed.

Ok, it seems phoenix::function doesn't work like I thought.
Why doesn't it just do a proto::make_expr(proto::tag::function, f, a0,
a1..., aN)?
I don't really understand how Phoenix works.

For some reason I thought the node type for function application in
Proto was called 'call', looks like it's actually 'function', sorry.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk