Date: Tue, 12 Dec 2023 17:03:51 -0500
On 12/12/23 1:20 AM, Corentin Jabot wrote:
> Yup, the high bit is getting support for u8 strings in format/print.
> More generally, making sure the standard library works with u8
> strings at a basic level
>
> I would be content if we only supported u8 arguments as a first
> iteration. IE, convert a u8 argument to the encoding of the format
> strings, whatever that might be.
> Beyond that, a facility to transcode between execution/utf-8 is
> critical, work on that seems to have slowed down.
I agree.
You made a very good choice with P1885 (Naming Text Encodings to
Demystify Them) <https://wg21.link/p1885> to separately expose the
literal, environment, and locale encodings; we need to be able to
provide conversion between all of them. WG14 N3095 (Restartable and
Non-Restartable Functions for Efficient Character Conversions)
<https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3095.htm> only
provides conversions from/to the current locale encoding as affected by
calls to setlocale(), so it doesn't provide a basis for conversion
between all the encodings that the standard recognizes. We're going to
need P1629 (Transcoding the 🌐 - Standard Text Encoding)
<https://wg21.link/p1629> or similar to make good progress here.
>
> On a personal note, I'd like to make progress on P2626, let me know
> how we can make that happen.
Yes, that has been right near the top of my list to schedule for a
meeting. I'm happy to schedule this for the 2024-01-10 SG16 meeting if
that works for you.
> Do we still want to work on unicode properties?
I think so, eventually. I lean towards getting support for the Unicode
algorithms in place first and then consider what makes sense to expose.
Tom.
>
> On Tue, Dec 12, 2023 at 12:49 AM Tom Honermann via SG16
> <sg16_at_[hidden]> wrote:
>
> As we head into the end of year holidays, it is a good time to
> start thinking about our collective wishes for the next year.
> Please share your thoughts on what you would most like to see SG16
> focus on and/or accomplish next year. Don't be afraid to dream big!
>
> I think it is worth noting that C++23 makes it possible, for the
> first time, to write a proper version of hello world in C++. The
> following is now standard, portable, C++!
> https://godbolt.org/z/PYr184q6v
>
> #include <print>
> int main() {
> std::println("👋 🌍");
> }
>
> With a little luck, that Compiler Explorer link will demonstrate a
> working implementation for gcc in the not too distant future!
> Perhaps 2024 will also bring back the ability to execute code
> compiled by the Microsoft compiler on godbolt.org
> <http://godbolt.org> (I said to dream big!) I did verify locally
> that the Microsoft implementation behaves as expected (when the
> resulting executable is run inside Microsoft's new terminal).
>
> When SG16 was first formed back in 2018, I was asked to contribute
> a brief bio <https://isocpp.org/wiki/faq/wg21#tom-honermann> to
> add to the WG21 committee members hosted on isocpp.org
> <http://isocpp.org>. A request for a favorite code fragment was
> included and I decided to go with the following forward looking
> example.
>
> #include <program_arguments>
> #include <environment>
> #include <print>
> int main() {
> std::print(u8"👋 🌍\n"); // Hello world in the universal
> language of emoji!
> std::print(u8"Hello {}!\n", environment["USER"].as_u8string());
> std::print(u8"This program is {}\n",
> program_arguments[0].as_path());
> }
>
> We're making progress! My personal wish list for 2024 includes
> getting the rest of this (or something quite like it) working as
> standard C++.
>
> Thank you all for the contributions you bring to SG16 and WG21!
>
> Tom.
>
> --
> SG16 mailing list
> SG16_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg16
>
> Yup, the high bit is getting support for u8 strings in format/print.
> More generally, making sure the standard library works with u8
> strings at a basic level
>
> I would be content if we only supported u8 arguments as a first
> iteration. IE, convert a u8 argument to the encoding of the format
> strings, whatever that might be.
> Beyond that, a facility to transcode between execution/utf-8 is
> critical, work on that seems to have slowed down.
I agree.
You made a very good choice with P1885 (Naming Text Encodings to
Demystify Them) <https://wg21.link/p1885> to separately expose the
literal, environment, and locale encodings; we need to be able to
provide conversion between all of them. WG14 N3095 (Restartable and
Non-Restartable Functions for Efficient Character Conversions)
<https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3095.htm> only
provides conversions from/to the current locale encoding as affected by
calls to setlocale(), so it doesn't provide a basis for conversion
between all the encodings that the standard recognizes. We're going to
need P1629 (Transcoding the 🌐 - Standard Text Encoding)
<https://wg21.link/p1629> or similar to make good progress here.
>
> On a personal note, I'd like to make progress on P2626, let me know
> how we can make that happen.
Yes, that has been right near the top of my list to schedule for a
meeting. I'm happy to schedule this for the 2024-01-10 SG16 meeting if
that works for you.
> Do we still want to work on unicode properties?
I think so, eventually. I lean towards getting support for the Unicode
algorithms in place first and then consider what makes sense to expose.
Tom.
>
> On Tue, Dec 12, 2023 at 12:49 AM Tom Honermann via SG16
> <sg16_at_[hidden]> wrote:
>
> As we head into the end of year holidays, it is a good time to
> start thinking about our collective wishes for the next year.
> Please share your thoughts on what you would most like to see SG16
> focus on and/or accomplish next year. Don't be afraid to dream big!
>
> I think it is worth noting that C++23 makes it possible, for the
> first time, to write a proper version of hello world in C++. The
> following is now standard, portable, C++!
> https://godbolt.org/z/PYr184q6v
>
> #include <print>
> int main() {
> std::println("👋 🌍");
> }
>
> With a little luck, that Compiler Explorer link will demonstrate a
> working implementation for gcc in the not too distant future!
> Perhaps 2024 will also bring back the ability to execute code
> compiled by the Microsoft compiler on godbolt.org
> <http://godbolt.org> (I said to dream big!) I did verify locally
> that the Microsoft implementation behaves as expected (when the
> resulting executable is run inside Microsoft's new terminal).
>
> When SG16 was first formed back in 2018, I was asked to contribute
> a brief bio <https://isocpp.org/wiki/faq/wg21#tom-honermann> to
> add to the WG21 committee members hosted on isocpp.org
> <http://isocpp.org>. A request for a favorite code fragment was
> included and I decided to go with the following forward looking
> example.
>
> #include <program_arguments>
> #include <environment>
> #include <print>
> int main() {
> std::print(u8"👋 🌍\n"); // Hello world in the universal
> language of emoji!
> std::print(u8"Hello {}!\n", environment["USER"].as_u8string());
> std::print(u8"This program is {}\n",
> program_arguments[0].as_path());
> }
>
> We're making progress! My personal wish list for 2024 includes
> getting the rest of this (or something quite like it) working as
> standard C++.
>
> Thank you all for the contributions you bring to SG16 and WG21!
>
> Tom.
>
> --
> SG16 mailing list
> SG16_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg16
>
Received on 2023-12-12 22:03:52