On Mon, Jul 28, 2003 at 05:38:01PM +0200, Miroslav Silovic wrote:
> Well, nobody posted anything definite on FC++, which is a pity, since I 
> find this library potentially very useful. Here are some comments. 
> Caveat: I haven't extensively used the library, but I have quite a bit 
> of experience with functional programming. I won't comment on the naming 
> scheme or the docs - that was covered in the original post.

I expect the docs are a big issue (as David Abrahams commented); most of 
the docs on the web site are aimed at an audience of researchers in 
functional programming.  Over the next couple of weeks I will make 
documentation of the boostified version of FC++ that's aimed at a C++ 
audience.  Hopefully that will help.

> First, FC++ duplicates Boost::bind with its currying. Are there any
> plans to reuse the Boost code for this? Boost::bind seems more powerful
> and general, in that it can take functions with any arity and bind any
> argument(s).

(Perhaps again this is the fault of the documentation being poor.)  FC++ 
full functoids are fully curryable by default.  The "prefix" and 
"underscore" styles of currying are the preferred ways to do things.
See   http://www.cc.gatech.edu/~yannis/fc++/currying.html
for some examples.  You can do the same things with boost::bind (or 
boost::lambda, or fcpp::lambda) too.  I am talking to Jaakko and Joel 
(off-list) about the boost infrastructure there to ensure that, at the 
least, FC++ interoperates with the boost stuff, and at best, that much 
of the infrastructure can be reused.

> I think FC++ could profit from pluggable memory management, perhaps as a 
> policy parameter. In particular, zonal allocation could allow one to do 
> away with refcounting for calculate-and-exit trips into FC++ code (where 
> you just carve small chunks from a list of memory pages, then nuke the 
> entire block once you're done with the calculation).

This sounds like an interesting extension, though I don't know that I
would be the right person to implement it.  :)

> One interesting Haskell feature that FC++ doesn't have are monadic 
> arrays. Are there any plans to communicate with writable STL containers 
> using monads?

The monad stuff is very new; this sound like a terrific idea.  I'll put it
on my to-do list.

> I also couldn't find any reference to tuples in the docs. Is there any 
> support for them? (This could be a low-hanging fruit, since Boost 
> already has tuples).

There is nothing (other than std::pair and fcpp::mk_pair).  I don't see
any reason boost tuples couldn't be used in fc++ code, though.

-- 
-Brian McNamara ([EMAIL PROTECTED])
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to