Boost logo

Boost :

Subject: Re: [boost] [Review] Phoenix review starts today, September 21st
From: Joel de Guzman (joel_at_[hidden])
Date: 2008-09-27 07:39:00

Robert Jones wrote:
> On Sat, Sep 27, 2008 at 4:44 AM, Joel de Guzman
> <joel_at_[hidden]> wrote:
>> Daniel Walker wrote:
>> <snip>
> To echo David - wow, that was some review from Daniel!
> In response to Joel - Some of your purpose in requesting a review
> now is certainly being served for me. The discussion provoked is
> proving hugely useful and informative, not least because the history
> of Phoenix apparently goes back a long way, and certainly far
> beyond the point when I started paying attention.
> So, as a user who is moderately familiar with BLL, but very new
> to Phoenix, it would seem there is very little merit in investing too
> much effort becoming familiar with Phoenix, until V3 arrives. A logic
> that presumably applies to any new user.

I would urge you otherwise. I did a quick scan of the Phoenix2 docs.
I can safely say that the majority of the interface will remain as-is.
Most of the changes will be transparent for the user (for instance
the use of boost.typeof and boost.result_of will not affect most code).
Neither will the use of a common set of placeholders. There are only
two parts in the docs where there will be changes to the interface:
the Phoenix function and some parts of the extension mechanism. The
first is cosmetic.

Really, such interface changes are a normal part of transitioning
from pre-review to post-review. All libraries assimilated into boost
experience the same transition phase. Some more significant.
Take Proto for example, which went from V1 to V2 to V3 from
pre to post review.

While I understand and appreciate the comments raised thus far, I say
that the review grossly magnifies these aspects while underrating
the remaining 95% of the library. If you look at:,
Values, References, Arguments, Composites, Lazy Operators, Lazy Statements
Construct, New, Delete, Casts, Operator, Statement, Object, Scope,
Bind will remain as-is. Only Lazy Functions and Inside Phoenix (the extension
mechanism) will have some changes.

Please, let's not throw out the baby with the bathwater.

> As a result of reading Daniel's review my appreciation of the overall
> 'roadmap' has increased significantly.

And, let me emphasize it too, if I haven't done so yet. The Roadmap
is very important. I certainly hope for more discussion on these
topics. Bridging the current and past and the future is one of
the prime motivations behind my asking for a review.

> Daniel's review also mentioned a 'chatty', scene setting introductory
> chapter that used to part of the documentation. I too would like to this
> restored to the documentation.

If you want a chatty scene, I'll give you a chatty scene, but not
too much :-). Actually, there's one more facet of the documentation
that's missing: a reference section. I also intend to have one
for V3. At least for those who dislike verbose text can get straight
to the reference.


Joel de Guzman

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