20257, "mppf", "I/O module: replacing ioChar with writeCodepoint etc", "2022-07-19T19:43:22Z"
This issue is about this IO module type
record ioChar {
/* The codepoint value */
var ch:int(32);
}
Currently, this type can be used with read/write/<~> to read or write a particular Unicode codepoint.
The proposal here is to deprecate this type in favor of the following new routines which are more obvious:
// note: all of these routines will ignore the channel’s Encoder/Decoder
proc writer.writeCodepoint(codepoint: int) throws
proc reader.readCodepoint(): int throws
proc writer.writeByte(byte: uint(8)) throws
proc reader.readByte(): uint(8) throws
These are a bit redundant with writeBytes/writeString etc. but would perform much better. (But, that could be less important if we have the short-string optimization #11221).