Boost logo

Boost Users :

Subject: Re: [Boost-users] [Phoenix] Review: Documentation
From: Zeljko Vrba (zvrba_at_[hidden])
Date: 2008-09-29 16:56:48


On Mon, Sep 29, 2008 at 10:20:25PM +0200, Roland Bock wrote:
>
> For example, the actor's page. It says that it is the main concept and
> it shows a template and with one parameter, which does not appear
> anywhere near the template's body. And that's pretty much it. It does
> not say anything about when it is used, by whom, or what the necessary
> characteristics of the template argument "Eval" are. Nothing. Except:
> "Don't worry about the details, for now."
>
Phoenix manual is meant to be read and understood sequentially. The Actors
chapter is roughly at 1/3 of the manual. Actor is a main concept in that it is
in the lowest layer of the library (see the Organization chapter), and you need
to understand it if you're going to extend Phoenix. You really don't need to
bother with details to use ready-made components (while_, operators, bind,
etc.). See "Inside Phoenix" chapter for an in-depth explanation of how
actors work..

>
> But I know that the concepts/ideas for this thing need to be explained
> before going on.
>
I do not think that Phoenix manual is the right place to explain FP concepts.
Trying to do so would only get the job half-done, and in this case it might
be worse than nothing at all. Though, the introduction _could_ link the
concepts ("lambda", "currying", etc.) to some online reference.

>
> You could use this in the "real world example". Replace vector<int> by
> vector<A> and then find objects with object.member%2==1. I assume that
> would help me.
>
You would use bind there.

The best way to understand the purpose of Phoenix is, IMHO, to have some
first-hand experience with a true functional programming language with
type-inference and first-order functions, such as SML. I'm not sure that any
amount of writing can replace direct experience. (And I'm not sure either that
one should try to learn FP concepts with a hybrid solution that C++ and Phoenix
is.)


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net