Hacker News new | ask | show | jobs
by ptx 2953 days ago
Regarding the bytecode - it was always considered an internal implementation detail subject to change (unlike the JVM bytecode) and in 3.6 they have in fact made a fairly major change[1]:

"The Python interpreter now uses a 16-bit wordcode instead of bytecode which made a number of opcode optimizations possible."

They haven't been shy about changing it in the past either, since there's no guarantee of stability, so it's likely to continue to change in incompatible ways.

[1] https://docs.python.org/3/whatsnew/3.6.html#optimizations

1 comments

Good point, and shows that I haven't kept up with the latest developments here :-) Though in the context of a one-off research project, I still think picking a concrete Python version and using its byte/wordcode is the better choice. It won't be an enterprise-quality project with a long lifetime, but neither is the author's solution of parsing (a subset of) Python manually.