From: Brian McNamara (lorgon_at_[hidden])
Date: 2003-09-30 03:09:59
I have updated the documentation for FC++:
The content has hopefully improved some (thanks to a number of your
useful comments), and the presentation is much improved, thanks to the
use of BoostBook (which is a super-cool tool!).
I have not posted a new copy of the library code itself. An older
version is still available on YahooGroups (see below).
I am now spending a lot of time trying to polish up the library to get
the code ready to submit for a formal review.
I would love it if some kind person (who has participated in the formal
reviews of other "big" Boost libraries) would go ahead and look over the
code and the docs now, and try to warn me about whatever big issues
remain to be done before the library might pass a formal review. There
are a few issues that I am aware of and am in the process of addressing:
- test cases: the library has a ton of example files, but there aren't
yet many automated tests (and the example files could use some better
- license: I haven't updated the sources to include the new "official"
Boost license agreement. I do already have the necessary "approval",
though, so this is now merely a matter of "adding text to cpp files"
rather than "politics with my institution".
- documentation: the link I posted above has good overview
documentation of the library, but a little more depth is needed in
places, as well as some medium-sized examples and some initial
Those are the only issues I'm aware of that may yet prove to be
stumbling blocks for the library's acceptance. If you are aware of
other issues, please let me know.
Thanks to those of you who have already given me feedback about Boost
FC++; your comments have been quite useful.
Below is a some other info about FC++ which may be useful/relevant.
On Tue, Jul 15, 2003 at 07:38:44PM -0400, Brian McNamara wrote:
> I have posted the first "boostified" version of FC++ to the YahooGroups
> files section; it is called "fcpp".
> FC++ is a library for functional programming. In FC++ we program with
> "functoids" (classes which define operator() and obey certain other
> conventions). The library features include:
> - higher order, polymorphic (template) functions (direct functoids)
> - lazy lists
> - library of useful functions, combinators, and monads (mostly
> mimicking the Standard Library of the language Haskell)
> - currying
> - infix function syntax
> - dynamically bound functions (indirect functoids)
> - effect combinators
> - interfaces to STL via iterators
> - ways to transform normal C++ functions/methods into functoids
> - a lambda sublanguage, with syntax for lambda, let, letrec,
> do-notation, and monad comprehensions
The documentation for (plain) FC++ can be found at
The library comprises about 9000 lines of code and compiles on a number
of different compilers (g++, Comeau, Intel, MSVC++).
-- -Brian McNamara (lorgon_at_[hidden])
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk