Boost logo

Boost :

Subject: Re: [boost] [xint] Boost.XInt formal review
From: Peter Dimov (pdimov_at_[hidden])
Date: 2011-03-07 12:01:17


Chad Nelson wrote:

> On Mon, 7 Mar 2011 04:25:00 +0200
> "Peter Dimov" <pdimov_at_[hidden]> wrote:
>
> > [...] For the people who do care, the library should provide free
> > function templates that operate on a well-defined Integer concept
> > which is "operationless" on its own and only stores bits (in chunks
> > of some element_type perhaps). The supplied 'integer' class would be
> > our best effort of implementing this concept in the manner we think
> > is best for the users who want us to make this decision for them. The
> > rest should be able to define their own integer classes and get the
> > operations "for free".
>
> That's what I'm aiming for in the long run, as a result of the feedback
> I've gotten during the review.

If that's the case - and if I were you - I would seriously consider
withdrawing the library now. (This is not a "no" vote.) By trying to satisfy
all people's wishes, you've made the library very complex, introducing
policies and Boost.Parameter use. An architecture such as the one above
would have allowed you to counter every "but I need an integer that does X
instead" objection with "write your own, using example 2a as a starting
point; it's easy" and would have kept the basic integer class clean. If the
library enters Boost now, you may never be able to get back to this point,
because for backward compatibility you'd be forced to maintain the current
design. But the decision is yours and if the choice is between getting the
current library into Boost and abandoning it in frustration - because having
to throw a few months of work away is not very motivating - then it's
obviously better to get it into Boost because it certainly looks good
enough.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk