Date: Sat, 04 Aug 2018 02:41:00 +0000
Tom Honermann:
> Please start a new email thread when switching subjects; replying with a
> new subject breaks thread presentation.
Ah, I didn't know e-mail clients track replies silently.
> I think the type aliases are useful for non-deduced contexts. For
> example, when declaring function parameters.
Right, then we need some good names. I think we should break the
convention established by basic_string. I suggest these:
ecs_text_view, wecs_text_view, utf8_text_view, utf16_text_view,
utf32_text_view. That is assuming the paper that establishes UTF-16 and
UTF-32 as encoding for char16/32_t literals is accepted.
> I don't think it is feasible to avoid the execution character encoding
> given that it is the encoding used for I/O. Eventually, we may be able
> to add I/O interfaces that implicitly transcode at program boundaries,
> but we don't have that yet. I think beginners should be able to write
> hello world without having to (explicitly) deal with transcoding. For
> many applications, the execution character encoding is the right
> encoding to target.
I think we should carefully consider what a modern I/O library should
look like and then design for it. I think I/O should be in terms of
std::byte. I hope integers will be 2s complement soon so serialization
of integers won't be a problem. Since code units are just integers, we
should just work on top of that.
> Please start a new email thread when switching subjects; replying with a
> new subject breaks thread presentation.
Ah, I didn't know e-mail clients track replies silently.
> I think the type aliases are useful for non-deduced contexts. For
> example, when declaring function parameters.
Right, then we need some good names. I think we should break the
convention established by basic_string. I suggest these:
ecs_text_view, wecs_text_view, utf8_text_view, utf16_text_view,
utf32_text_view. That is assuming the paper that establishes UTF-16 and
UTF-32 as encoding for char16/32_t literals is accepted.
> I don't think it is feasible to avoid the execution character encoding
> given that it is the encoding used for I/O. Eventually, we may be able
> to add I/O interfaces that implicitly transcode at program boundaries,
> but we don't have that yet. I think beginners should be able to write
> hello world without having to (explicitly) deal with transcoding. For
> many applications, the execution character encoding is the right
> encoding to target.
I think we should carefully consider what a modern I/O library should
look like and then design for it. I think I/O should be in terms of
std::byte. I hope integers will be 2s complement soon so serialization
of integers won't be a problem. Since code units are just integers, we
should just work on top of that.
Received on 2018-08-04 04:41:29