On 4 June 2014 11:17, Steven D'Aprano
My own feeling is that O(1) string indexing operations are a quality of implementation issue, not a deal breaker to call it a Python.
If string indexing & iteration is still presented to the user as "an array of code points", it should still avoid the bugs that plagued both Python 2 narrow builds and direct use of UTF-8 encoded Py2 strings. If they don't try to offer C API compatibility, it should be feasible to do it that way. If they *do* try to offer C API compatibility, they may have a problem.
I can't see any requirement in the docs that str[n] must take O(1) time, but perhaps I have missed something.
There's a general expectation that indexing will be O(1) because all the builtin containers that support that syntax use it for O(1) lookup operations. Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia