The first discussions that lead to the current formulation of the bidi algorithm easily go back 20 years by now. There's some value in not re-stating a specification - even if a new formulation could be found to be 100% equivalent. That value lies in the fact that any reader can tell, by simple inspection, that the specification hasn't changed, and that implementations that claim conformance to earlier versions of the specification are indeed still conformant to later versions.

This point is particularly important for the bidi algorithm, because of it's mandatory nature and the fact that it gets re-issued with a new version number every time that the underlying Unicode standard gets a new version (because of new characters added, etc).

That does not preclude other, equivalent formulations of the algorithm, whether in text books or, perhaps, as technical Note. But the burden is on the creators of these other formulations to show that their supposedly easier or more didactic presentation is indeed equivalent.

Having said that, there are already two other formulations of the algorithm that are proven to be equivalent to each other (and have not proven to deviate from the written algorithm). I'm referring of course to the C++ (http://www.unicode.org/Public/PROGRAMS/BidiReferenceCpp/) and Java reference implementations.

A./

PS: Personally, I don't find the presentation in terms of the regular expressions any more intuitive than the original.


Reply via email to