After "the lord in the high heavens knows" how long, sat with building something beside work stuff. In part, that's thanks I guess to the burnout has been palpable now more than ever thanks to personal fronts.
A change I've wanted to add to the annotation module that I built was mutability checking. The odd type reassignments and such have been at the core of some perilous lost nights few years back.
Given comfort and library support, Python was the natural choice then (and even now, for the most part). What that brings along is non-enforceable static typing that would help a lot.
So, earlier today, decided to rewrite the annotation module from scratch. And while at it, add a way to identify such re-assignments using the
ast builtin module.
Does it add an overhead? Resounding a yes is the answer. Does it solve a lot of the problems? Not quite, at this point.
"Why then this experiment", has its answer in my wanting to play around with the ast module. And in particular, understand how the innards of the interpreter work. All the more so an important experiment from my shoes, I'd say.
That's also related to something that I remember in detail from an interview of mine. "I don't have a formal CS degree, so certain fundamentals, I am quite unaware of", is odd a state to be in.
Now, that's neither something I'm happy about nor prefer keeping that way. So, this exercise I presume might help get over that. Or so I guess.