What parts of Python 3 syntax are missing? Which parts of the library don't compile?
What parts of Python 3 syntax are missing? Which parts of the library don't compile?
https://github.com/micropython/micropython/wiki/Differences
But I guess they are still in the process of writing that/filling it out.
The biggest difference listed is probably no Unicode. Another significant point is that lots of library functions are only partially implemented.
Funny, considering that was the core reason for Python3 in the first place (though I can't immediately come up with a reference).
http://legacy.python.org/dev/peps/pep-3100/
Along with this one:
http://legacy.python.org/dev/peps/pep-3000/
(Of course there was lots and lots of thought and discussion that is not reflected in those documents)
I would characterize the Unicode/bytes change to simply be the most visible and disruptive change, it didn't really stand apart as far as being a reason, it was one of many.
I may be mischaracterising it :)
That said, I suppose it's wise to base MicroPython on the "live" branch of Python (3.x), not the legacy one (2.x), even if Unicode support is too costly for them.
The only things that don't compile properly are certain uses of "super()". super() without arguments is a very strange beast that captures the first argument of the function (interpreting it as the self object), and needs to infer its class.
Other than that, all the Python scripts in the Python 3 standard library will compile.