Boost logo

Boost :

Subject: Re: [boost] [local] Help for the Alternatives section
From: Gordon Woodhull (gordon_at_[hidden])
Date: 2011-03-28 04:06:36


On Mar 28, 2011, at 2:08 AM, Thomas Heller wrote:
>> That's what came to my mind too - it's statement syntax versus expression syntax, right? Phoenix has pseudo-statements but they're still in expression syntax.
>
> Yes. This is a bit confusing: Everything in Phoenix (or BLL) is a C++ Expression
> (having a return type etc., can be void). Phoenix has a statement module, which
> emulates C++ statements. As a C++ Expression they have a return type of void.
> We compose these expressions using expression templates (woohoo!), which we
> traverse upon evaluation.

Sure, I get that. I was suggesting that the most neutral way to describe that row might be Syntax? Statement / Expression

> Phoenix also has something similar to Boost.Local. Not really local functions
> but you can adapt (almost) any function object (with everything written with C++
> statements) to be phoenix statements.

It's great that all these techniques work together so well.

> So i might even claim that you can write phoenix functions "using usual C++ syntax".

While that's really cool, I think it's confusing matters to say that, at least in this context. It's a function that's been adapted for use with phoenix, it's not what anyone would think of when talking about the phoenix syntax.

Gordon


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