40 points | by beefburger 17 hours ago ago
9 comments
I've been wondering for a while if anything in Unicode could accidentally compute. It turns out that UTS #35 transliteration rules are Turing-complete. I show how to compute Collatz with just 3 rewrite rules running on stock ICU.
Huh, very interesting find, and very lean website (:
Does the Latin-Katakana example given imply that some input value can cause it to not terminate?
Who implements transliteration rules? I assume operating systems? Or text renderers?
The ICU library. It’s so ubiquitous that it’s somewhat difficult to avoid this library if you are doing anything advanced with human text.
At this point it feels more difficult to ensure that your format cannot compute than to ensure it can
reminds me of Word's autocorrect being turing-complete https://www.youtube.com/watch?v=jlX_pThh7z8 (3:57, but whole video is fun)
Waiting for someone to vibe a compiler targeting Unicode transliteration rules...
Does it work on modern OS or just PyICU ?
I've been wondering for a while if anything in Unicode could accidentally compute. It turns out that UTS #35 transliteration rules are Turing-complete. I show how to compute Collatz with just 3 rewrite rules running on stock ICU.
Huh, very interesting find, and very lean website (:
Does the Latin-Katakana example given imply that some input value can cause it to not terminate?
Who implements transliteration rules? I assume operating systems? Or text renderers?
The ICU library. It’s so ubiquitous that it’s somewhat difficult to avoid this library if you are doing anything advanced with human text.
At this point it feels more difficult to ensure that your format cannot compute than to ensure it can
reminds me of Word's autocorrect being turing-complete https://www.youtube.com/watch?v=jlX_pThh7z8 (3:57, but whole video is fun)
Waiting for someone to vibe a compiler targeting Unicode transliteration rules...
Does it work on modern OS or just PyICU ?