> I'm happy to bring back that paper.

Please do.

- Victor

On Tue, Dec 12, 2023 at 10:26 PM Corentin Jabot <corentinjabot@gmail.com> wrote:


On Wed, Dec 13, 2023 at 3:29 AM Tom Honermann via SG16 <sg16@lists.isocpp.org> wrote:
On 12/12/23 6:46 PM, Victor Zverovich wrote:
> 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++.

This is quite a milestone!

In my opinion we should think bigger and tackle the rest of formatted I/O so that we have a proper alternative for all of the stdio and iostreams, and not just parts of them. Elias made great progress on P1729 and I've been investigating how to make it work better with C streams. Hopefully SG16 will have cycles for this paper next year.

Bigger is good! And yes, continuing review of P1729 is high on my priority list.

For reference, here are the papers that I have at the top of my list to schedule for upcoming meetings, in no particular order. In some cases I need to circle back with authors to confirm whether these are ready for further review.

  • P1729: Text Parsing
  • P2626: charN_t incremental adoption: Casting pointers of UTF character types
  • P2348: Whitespaces Wording Revamp
  • P2749: Down with ”character”
  • P2728: Unicode in the Library, Part 1: UTF Transcoding
  • P2729: Unicode in the Library, Part 2: Normalization

It would also be good to have at least parts of the Unicode database available since it is an important building block for other facilities (including std::format) and it is very unfortunate that we only get to use it internally.

I agree. I think the challenge is balancing interface simplicity and stability with enabling good performance with enabling use in constexpr context. But I could be overthinking things.


With modules/embed/etc the strategies for efficient constexpr implementations are there... I'm happy to bring back that paper.
It's a fairly simple interface, the question is really with the subset of properties we want. Most of the work is for the implementations to generate efficient tables/lookup, which is QoL that can be refined over time.

 

Tom.


Cheers,
Victor


On Mon, Dec 11, 2023 at 3:49 PM Tom Honermann via SG16 <sg16@lists.isocpp.org> 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 (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 to add to the WG21 committee members hosted on 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@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/sg16
--
SG16 mailing list
SG16@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/sg16