
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 #define FCPP_ENABLE_LAMBDA somewhere. 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@cc.gatech.edu)