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


Comments URL: https://news.ycombinator.com/item?id=50046196

Points: 2

# Comments: 0