aliquote.org

January 14, 2020

Mercurial’s Journey to and Reflections on Python 3. String literals are so fucking awesome in Python.

In Python 2, a ’’ string literal is a sequence of bytes. In Python 3, a ’’ string literal is a sequence of Unicode code points. These are fundamentally different types. And in Mercurial’s code base, most of our string types are binary by design: use of a Unicode based str for representing data is flat out wrong for our use case.