Boost logo

Boost :

From: Dirk Gerrits (dirk_at_[hidden])
Date: 2003-06-26 06:36:58


Brian McNamara wrote:
> I would like to see if there is interest in incorporating the FC++
> library into Boost.

I've glanced over the papers a bit. It seems very, very interesting. See
below though.

> So I am sending this mail to see:
> (1) If there is still interest in adding FC++ to Boost, and
> (2) If there is interest, what-all needs to be changed with the FC++
> library to make it meet the standards of Boost.
>
> With regards to (1), I hope yes, but the Boost Lambda Library has a bit
> of conceptual overlap with FC++, so I can imagine this issue being
> potentially contentious. (FC++ and Lambda ostensibly provide much of the
> same kinds of functionality, but while there is overlap, each library
> does a lot of "its own thing" too. I (and Jaakko too, probably) can say
> more about this if necessary.)
>
> With regards to (2), I have been reading all the stuff on the Boost web
> site regarding submissions, and so I am aware of a number of issues,
> including:
> - Reuse: FC++ "reinvents" a number of Boost's libraries in its
> implementation, such as smart pointers and metaprogramming
> tricks. A Boost version of FC++ should reuse Boost libraries for
> this.

I agree. While FC++ probably would bring in a lot of new stuff, there is
*considerable* overlap with Boost's current libraries.
On the function side there's: bind, mem_fn, compose, function,
functional, and of course lambda. And then there are smart_ptr, mpl, and
preprocessor.

Reusing will probably make the implementation a lot cleaner, potentially
more robust, and ...

> - Documentation: as of yet, there is no good singular "users guide" for
> FC++ aimed at the audience of C++ programmers; I'd need to write
> one.

... you won't have to re-document the things that Boost already provides. ;)

> - Naming conventions: FC++ uses a naming convention other than Boost's
> (including systematically using capital letters in identifiers).

 From what I have been able to tell in such a short time, the 'camel
hump notation' is mostly used in the implementation and only slightely
so in the interface. For example, things like Fun0, Fun0Impl, ... are no
problem because you want to reuse Boost's facilities for these anyway.
And the functiods are already 'properly' named in lowercase. Of course,
there is some work to be done here, but I don't think it would be a big
problem, do you?

> But at this point I'm probably already getting ahead of myself. So I'll
> stop talking and ask people to comment with regards to "interest" in
> FC++.

I'd have to look deeper into it, for which I don't have the time at the
moment because I'm right in the middle of my exams. But from what I've
seen so far, it's pretty cool!

Regards,
Dirk Gerrits


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