Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2005-04-26 17:15:53


"Thorsten Ottosen" <nesotto_at_[hidden]> wrote in message
news:d4la6g$91f$1_at_sea.gmane.org...
> "Beman Dawes" <bdawes_at_[hidden]> wrote in message
> news:d4k44t$9b9$1_at_sea.gmane.org...
> |
> | "Thorsten Ottosen" <nesotto_at_[hidden]> wrote in message
> | news:d4gi2c$2jd$1_at_sea.gmane.org...
> |
> | > In Lillehammer we rejected a policy-based smart pointer...
> |
> | That isn't what happened. The committee's wiki describes the LWG's
> position:
> |
> | "No support for a policy-based framework at this time. This is a
> refinement
> | of Loki, but, while Loki is in use, this refinement isn't. We'll
> consider
> | such a proposal later, if there is widespread practice and strong
> arguments
> | for it."
> |
> | "No support ... at this time." is very different from rejection.
>
> maybe, I didn't mention why it was "rejected" but I don't see any
> conceptual
> difference;
> I strongly encourage people to not write a proposal before they know
> the committee are willing to accept it.

The LWG is never willing to say for sure they will accept a proposal until
after they have seen it. And most proposals have to be revised and
resubmitted several times before acceptance. Even a slam-dunk proposal, like
hoisting C99 stuff into TR1,wasn't accepted until the proposal was actually
delivered.

The most you can expect from the LWG is a straw vote that they are
"interested" in seeing a proposal. You always have to supply the actual
proposal before they will accept it. And even then, there are no sure bets.
Several components (dynarray, etc.) were voted into the standard (by the
full committee, not just the LWG), edited into the document, and then
finally removed because the STL proposal surfaced and was deemed so superior
as to make the pain of removing components worthwhile.

> I see it like this: we are very limited in resources in the library
> working
> group and we want to focus on libraries that can be used by as many users
> as
> possible.

Few would argue with that. The argument starts when a particular proposal is
seen as widely useful by some LWG members, and less useful by others.

> And that means a policy-based smart pointer is probably not going into the
> standard.

Not into C++0x, but TR2? TR3?

Remember that some of the stuff the committee is asking for as high priority
now (like threads and networking) were considered "no, never" and "over my
dead body" a few years ago. Committee membership changes over time, and
attitudes of long-time members change, too. What users ask for changes.
Proposals mature.

> I think the comments on the wiki underestimates the objection towards the
> proposal;
> When Andrei presented it in Seatle, he was left with the feeling that
> people
> really liked the idea; so Dave wrote the proposal only to get it "put on
> hold". A lot of
> waisted work IMO.

That remains to be seen. It is way too early to tell. If and when the
library gets accepted by Boost and becomes widely used, maybe with some
commercial implementations, then the LWG could fall in love with the PBSP
proposal. It is very similar to shared_ptr. Remember shared_ptr (then called
counted_ptr) was rejected by the full committee (although approved by the
LWG) back in 1994 or 1995.

> We should be more honest about this stuff in the LWG so we don't push away
> people trying to help us.
>
> Ideally every proposal should be pre-approved by the comittee and at least
> one
> guy from the LWG should cooporate with the team doing a specific library
> to ensure it turns out
> to be what the LWG is looking for.

That might be the "ideal" way to do it, but the committee doesn't work that
way. Nothing happens until a proposal appears in a mailing. It is all arm
waving until then. An expression of interest is the best anyone can hope
for.

> I don't mind doing work for free---as long as it is not waisted; waisted
> work
> would **** me off.

Understood, but that's the way the cookie sometimes crumbles. An unexpected
proposal can always come out of the blue which causes your proposal to be
rejected.

--Beman


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