Unicode Transliteration Rules Are Secretly Turing-Complete

https://hackernoon.imgix.net/images/2jqChkrv03exBUgkLrDzIbfM99q2-0d0224k.jpeg

Introduction

Unicode's UTS #35 transliteration rules, designed for text transformation, have quietly harbored a secret: they are Turing-complete. This means they can perform any computation a Turing machine can, from simple arithmetic to complex algorithms like the Collatz conjecture. The discovery, demonstrated using just three rewrite rules running on the ICU library (shipped with every major OS), reveals an unexpected computational power lurking within a system meant for mundane string manipulation.

The mechanism behind this lies in the recursive and conditional logic embedded within UTS #35 rules. These rules, interpreted by ICU, allow for self-referential transformations—essentially loops—and decision-making constructs akin to if-then-else statements. Together, they form a universal computing framework, albeit one that operates through the inefficient medium of string manipulation. This inefficiency, however, does not negate the theoretical significance: UTS #35 can simulate any algorithm, given enough time and resources.

The implications are both...

Copyright of this story solely belongs to hackernoon.com. To see the full text click HERE

Read more