Paul A Bristow | 25 Sep 18:35

Re: [Review] Phoenix review starts today, September 21st

>-----Original Message-----
>From: boost-bounces <at> lists.boost.org 
>[mailto:boost-bounces <at> lists.boost.org] On Behalf Of Hartmut Kaiser
>Sent: 22 September 2008 00:58
>To: boost <at> lists.boost.org; boost-users <at> lists.boost.org; 
>boost-announce <at> lists.boost.org
>Cc: 'Spirit General Mailing List'
>Subject: [boost] [Review] Phoenix review starts today, September 21st
>The review of Joel de Guzmans and Dan Marsdens Phoenix V2 
>library starts
>today, September 21st 2008,

>Phoenix V2 is a very important infrastructure library, IHMO. 
>It has been
>used for several other library writing efforts already, most notably, Spirit V2.
>
>Please always state in your review, whether you think the 
>library should be accepted as a Boost library!

I vote for acceptance.

>Additionally please consider giving feedback on the following general
>topics:

>- What is your evaluation of the design?

Seems a pity we need languages within languages within languages, but there you go :-(

It clearly "does what it says on the tin".

>- What is your evaluation of the documentation?

Reads very nicely, with remarkably few typos (a few I noted attached).

>- What is your evaluation of the potential usefulness of the library?

Obviously invaluable.

>- Did you try to use the library?

No.

>- How much effort did you put into your evaluation? 

Read the documentation only. And I think I understood enough of it at a first reading to be happy to jump in and
try to use it for
real - an important facet of a library like this.  If the learning curve is too steep, and the hand holds too far apart...

>- Are you knowledgeable about the problem domain?

Slightly.

One further comment.

I understand the dilemmas of evolution and backward compatibility, so that some evolving versions are inevitable.

But from a users point of view, it is also very helpful to know which one to choose.

As a newbie, it would help to have some guidance when to use Boost.bind, Boost.Lambda, Phoenix V2 or Phoenix V3.

If one is starting a new project and can stand some evolution, should one jump straight to Phoenix V3.  What
are the likely problems
in moving from V2 to V3?

Could a summary of the key features, pros and cons be added to the documentation?

Paul

---
Paul A Bristow
Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB
+44 1539561830 & SMS, Mobile +44 7714 330204 & SMS
pbristow <at> hetp.u-net.com

 
Typos

Personally I would expect Phoenix to have a first letter uppercase throughout.

(And I think it reads better that way)

Polymorphic Functions

... arg2  is of type char const*. add  still works because the C++ standard library allows...

Need a space, or better (because char const*. add are all in C++ font and it looks funny.)

"type char const*. Function add still works..."

Organization

.. which may be desireable in a pure FP application.

and

in Extra arguments There are a few reasons why enforcing strict arity is not desireable...

"desirable" would be more desirable ;-))

Lazy statments (e.g. if_, while_)  should be Lazy statements.

Note, for example, that we skimp  - do you mean skim?

Paul A. Bristow

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Gmane