Boost logo

Boost :

Subject: Re: [boost] Phoenix review
From: Joel de Guzman (joel_at_[hidden])
Date: 2008-09-25 21:54:09

Powell, Gary wrote:
> I vote to accept Phoenix into boost. It nearly duplicates nearly all of
boost::lambda which I think is a good thing, and extends it (containers

Thank you, Gary. It seems I don;t have to reply to your email
asking where to find the library :-)

In some ways I'll miss the old name but it's time to move on. (And I like the
imagery of an older system burning and becoming new again.)

Lambda is a good name. In the roadmap I was proposing, I suggested
Phoenix V3 to be named Lambda V2. Sure, I want the name Phoenix,
but I can keep that as a sub-title. Also, I do not want to throw
away Lambda's splendid docs. I'll certainly want them integrated
and merge the pieces where appropriate.

> On the code: With all of the changes coming in C++0X, this isn't the last
> round of changes.


I'm hopeful that with a fully compiant C++0X compiler Phoenix VX will be clear
to even a casual observer. :> And with Proto it's likely that this won't be such
a difficult task as it was the first time.

Let's hope so.

> On syntax: Things like case<constexpr>() [statement] the only alternative is
> to put the
statement in the "()", and I prefer the current style with "[]". It fits with
for_, while_ etc. Missing the "()" will make for nasty error messages but it
can't be helped.

Ok. Consistency is important.

> On boost::bind: I'm in agreement with Doug, it will be a while before that
> library can be
combined with this one. (years)


> On Evaluation: Documentation only. I've looked in depth at Phoenix before and
> it was cleanly

Thank you.

> On Knowledge in problem Domain: Well Peter Higgley and I wrote an early
> lambda FP paper in 2000 for C++
Report. Jaakko and I wrote the first generation of Lambda & paper soon after.
(Jaakko has been the sole maintainer since and generated the boost quality
version, including documentation.) Thanks Jaakko!

Jaakko has been instrumental and influential in the development of
Phoenix and it's infrastructure library: Fusion. I owe Jaakko
gratitude in all of my boost work. Tuple begat Fusion. Jaakko even
helped in the implementation at one point (with Jeremiah Willcock).
Phoenix2 was developed with intense exchanges from Jaaakko,
structure, syntax and all.

Thank you, Jaakko!


Joel de Guzman

Boost list run by bdawes at, gregod at, cpdaniel at, john at