From: Brian McNamara (lorgon_at_[hidden])
Date: 2004-02-18 20:19:33
On Thu, Feb 19, 2004 at 08:08:26AM +0800, Joel de Guzman wrote:
> Anyway, a quick question before anything else: How easy would
> it be to decouple the FC++.1.2.1 part of the library (i.e. without
> the lambda, without the sugar and spice)? If you recall, before
> Spirit became a boost library, I considered using FC++ in Spirit.
> One particular thing I liked was its small size. As a library
> writer myself, using another library, it seems more appropriate
> to hook into the lower level stuff, which in itself is already
> quite useful (I recall the exact reals library, for instance;
> certainly it was written prior to the sugar). I've seen you draw
> an outline of the basic organization of FC++ as it is now. Which
> part of this outline corresponds to the old FC++.1.2.1?
Here is the high-level summary of what has changed since 1.2.1 (in
roughly chronological order):
- I did a performance pass, and applied a number of run-time
optimizations (some of which were drastic improvements)
- made the library really standards-compliant/portable
- added many new library functions and a few new library datatypes
- added new features (lambda/monads/infix)
Lambda and monads are decoupled from the library; indeed right now
they're "turned off" unless you explicitly say
Other than that, the only thing that makes the current version "bigger"
than old versions is the number of functions and datatypes you find in
headers like "prelude.hpp". As I've already mentioned, I know these
headers are too monolithic (if you just want one function, like "map",
you are forced to #include about 70 other functions too), but that's
easy to fix.
> << BTW, I haven't seen Yannis around in boost? >>
Yeah; he hasn't had the time/interest to participate.
-- -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