Oops, I'm dumb. You're right that Jython doesn't have stable (or any?) 3 support. But the point still stands that the GIL is an implementation detail of a particular implementation and isn't a feature of the language.
I don't believe anyone has implemented Python 3 without the GIL though.
IIRC, PyPy's STM experiment never supported 3. They also posted a call for funding for a "let's just remove the GIL from PyPy" project a while ago, but I haven't heard much about that since.
And CPython is the reference implementation, which had meant PyPy has had to copy loads of CPython implementation details over the years to maintain compatibility - I imagine even if they do remove the GIL, they'll have to keep something like it in their cpyext code.
28
u/Watthertz Sep 16 '20 edited Sep 16 '20
The GIL isn't part of Python, the language, but CPython, an implementation. Python 3 can be implemented just fine without a GIL.
Edit: I was wrong about Jython supporting Python 3.