|
Boost : |
From: Alisdair Meredith (alisdair.meredith_at_[hidden])
Date: 2002-02-08 06:22:46
It's almost like we need two libraries!
Boost 'minor' has no policies, and is a good proving ground for, well, most of what we have now.
Boost 'major' would be a policy-based superset of this base library, so that the 'minor' library is essentially a lot of special cases expressable by the policy-libraries.
We certainly need a policy-free area to play around with ideas and proposals, simply to give us the wealth of experience to draw on when trying to formulate effective policies.
Effective policy-based libraries are, based on my current experience, a signifcant extra level of complexity to design and get right. Once they *are* 'right' the benefit is readily percieved, but I would hate to rule out development of interesting special cases simply because our policy-proposal is pending.
Maintaining two distinct [but related] libraries may ease the tension from jumping from the specific example straight into the policy-debate.
However, supporting two libraries under one banner is also likely to be confusing. My minor/major suggestion is intended to indicate that the policy-based version encompasses the behaviour of the earlier version and significantly extends it [through combinatorial effect of policies] however the 'minor' version by its very nature will usually offer a wider range of facilities so the names are to be taken with a very large pinch of salt!
AlisdairM
>>> jsiek_at_[hidden] 8 February 2002 00:04:32 >>>
It seems that the issue of whether to do a policy based design comes up
over and over again here at Boost. It is certainly an interesting issue to
discuss. There's lots of tension, not necessarily between people, but
between the various pro's and con's of the ideas. Andrei's described good
reasons for Boost to want policy based classes, and Matthias has described
good reasons for Boost to want the basic classes.
I'd like to see if we can resolve this meta-issue. I'm going to argue that
we should have both. That is, if someone submits a basic class and it
meets the usual Boost criteria, then we should go ahead and accept it.
Then, when someone submits the policy-based generalization of the class,
and it meets the usual Boost criteria, then we also accept that and
possibly deprecate the old basic class.
----------------------------------------------------------------------
For further information on Renault F1 visit our web site at www.renaultf1.com. This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please destroy and notify Renault F1 on +44 1608678000."
----------------------------------------------------------------------
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk