Show HN: I added optional chaining to CPython

  • Posted 2 hours ago by grandimam
  • 2 points
https://github.com/grandimam/cpython
I forked CPython to experiment with adding optional chaining (?.) directly to the language.

For example: name = response?.customer?.name.lower()

If response or customer is None, the expression short-circuits and evaluates to None. This isn't a library or a transpiler change, but a direct CPython modification.

A bit about the build: I used AI extensively for this experiment. Part of my motivation was to see how far I can get the modification in an unfamiliar codebase like CPython.

A couple of hours in I had a working prototype. I would appreciate feedback from people familiar with CPython internals about the implementation.

Source: https://github.com/grandimam/cpython

0 comments