Python 3.15 released with a TUI text adventure you can run via uvx --python 3.15 whatsnewt.

I love text adventures, but not so much that I would spend a weekend learning a new game rather than playing Minecraft. So I had Claude and ChatGPT “play” it for me.

It’s more a reading experience than a playing experience, but that can be pretty engaging, too. What I learnt by reading it (that I didn’t know before) was:

  • xyzzy and plugh are Collosal Cave magic words.
  • .start files let you run package-specific code before the interpreter starts.
  • Set __lazy_modules__ to a list (or set, dict, or whatever) of modules to be lazy-imported.
  • frozendict comparisons are order independent, though it preserves order. frozendict({1:2,3:4}) == frozendict({3:4,1:2}) is True.
  • TypedDict lets you define dicts with specific types for each key. Gently nudging Python towards TypeScript.
  • TypeForm seems useful but I still haven’t wrapped my head around it.

This is as far as I got at step 57 / 146 and I still more to read.

But, a few learnings about learning:

  • Learning comes with effort. I didn’t learn the stuff above skimming through the Python 3.15 release docs.
  • Effort reducing chance of learning. I wouldn’t bother playing the TUI or reading the full docs - because it takes so much effort.
  • AI lets you control effort. You have more control over your learning. You can choose the level of effort. That’s inclusive, i.e. more people can learn.
  • AI reduces author control. AI transfers control to your hands. That’s less prescriptive, i.e. you may not get the desired result.