On Fri, Jun 26, 2020, 5:22 PM Emil Dotchevski via Boost < boost@lists.boost.org> wrote:
On Fri, Jun 26, 2020 at 11:03 AM Vinnie Falco via Boost < boost@lists.boost.org> wrote:
On Fri, Jun 26, 2020 at 10:43 AM Zach Laine via Boost
wrote: I want to standardize something like the interfaces there for C++23
Why are you targeting a particular release date? Is your development strategy going to be different because you want to "get something in to C++23" versus "I want to standardize something after it has achieved sufficient field experience and maturity?"
I was going to ask the same question. Nothing should be standardized that isn't already the defacto standard. It isn't likely that between what's left of 2020 and 2023 this library or any other will become the defacto standard. I know this fails on deaf ears but it needs to be said.
Unicode is an actual standard. The std::ranges library is too. Not de facto standards, actual standards. The Unicode layer of the proposed Boost.Text packages the Unicode algorithms into a std::ranges-style API. There is very little invention going on here. The text layer is a different matter. That *is* an invention. It is also controversial, as the review demonstrated. That is precisely why I was not going to attempt to standardize any of it in the C++23 timeframe, even when my plan was still to get it into Boost right away. It needs time for evaluation and revision -- perhaps several years. I understand the concerns you have both raised, and I share them. I'm one of the few people in LEWG consistently asking "How many users does this have?" and "Why didn't this go into Boost first?". If I thought that either the Unicode standard or the std::ranges work were not fully baked, I might have reservations about the Unicode layer of Boost.Text. The only thing that might need baking is the exact subset of Unicode algorithms that one needs to do useful work. The review has pointed out some weak spots, but if you look at the review, you'll notice that they're all additive. I expect all future changes to be additive, too, because there are not variations of the Unicode algorithms. There's a fixed set of them. If we were to standardize the existing Unicode layer today, we'd be able to use it for a very, very long time. You cannot say that with any certainty about most proposals to the standard library, but then most such proposals are not based on an existing international standard. That's why the Unicode layer (and *only* the Unicode layer) should be standardized in the C++23 timeframe. Zach