|
Boost : |
From: Gary Powell (powellg_at_[hidden])
Date: 2002-03-18 16:17:34
>> it's only that this epic scope could prevent lambda
>> from
>> > being added to the standard library.
>
>Agreed, BLL exception handling etc. are probably not features I'd
>suggest to be added to the standard library. For standard library,
>some branches would obviously get chopped away - for boost, I think
>it's ok to have a richer set of features.
That's true, but even on Boost a somewhat bloated library will turn off
some users. (That's just a general comment, not a specific opinion that
you should remove anything from the lambda library.)
-------------------------------------------------
True enough, but we got here because after using LL for a bit, we started
wanting more. You know how this goes, first you say, ah hah! We've got
ll::for_each, then we realize what we want is a nested "count_if" and pretty
soon all of the STL algorithms are cloned into lambda. (not the algorithm,
just a wrapper to forward it to std::STL).
Then we added exceptions, and we realized we needed to be able to
"construct" objects to throw them. So that got added, then.... and well you
can see the result. (or rather the "trim" version.)
Originally we split it into several libraries, and the idea again was mix
and match, but that doesn't really work. You can't take boost::bind and
lambda::bind and expect them to work together without some fudging. (ok a
lot) So as it stands now the big stuff is all each in their own include
files which you can use or not.
As far as the language standard changes go, I'd really rather see
"anonymous functions" as part of the language than this. But given that this
does work as a "library" it becomes harder to justify a change to the core
language. (aka "inherit") Also I didn't really hear any support for such a
big change from the committee in Redmond.
-Gary-
PS
A real good "typeof" could trim a lot of the code.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk