[Jprogramming] RFC: unicode
Elijah Stone
elronnd at elronnd.net
Sun Mar 20 00:34:27 UTC 2022
On Sat, 19 Mar 2022, Raul Miller wrote:
>> I do not need to carefully track which words are integers and which are
>> floats.
>
> This is sometimes necessary. I've worked with examples where
> distinguishing between numeric types has been a critical issue. I have
> even encountered examples where the distinction between integer and
> floating point was key.
Good point! I bumped into one instance of this recently: x^y for
nonnegative integers x and y is a float.
I think the broader point still applies, though. Take booleans and
integers, say, rather than floats and integers.
> https://code.jsoftware.com/wiki/Essays/Deprecation
I think a deprecation period would probably be a good idea.
> ": does nothing to content which is already textual
Per the dictionary:
> ": converts literal2 and literal4 to U8 encoded 1-byte char
And experimentally:
]x=. 10 u: 243 244
óô
datatype x
unicode4
#x
2
":x
óô
datatype ":x
literal
#":x
4
Not specified is whether literal2 is interpreted as ucs-2 or utf-16.
Experimentally, it is utf-16.
> The fill mechanism only presumes that the data is in a form which can be
> filled with the default fill for that type. If that's not what you want,
> you should avoid operations which add fill. For example, you may want to
> use an expression like:
>
> ; verb each sequence
I don't understand the significance of this.
> Generally speaking, if you want an unambiguous representation of your
> data, you should use something like {{ 5!:5<'y' }} rather than ":
I don't need unambiguous. I'll take non-obfuscatory. And, as mentioned,
the behaviour of ": here is inconsistent with other primitives.
>> z is a perfectly good, valid utf-32 sequence.
>
> Hmm... I suppose you are correct. Which means the problem here is that
> it is not being displayed correctly.
The display seems correct to me.
More information about the Programming
mailing list