On Sat, 05 Dec 2020 21:48:53 -0800 Brendan Barnwell firstname.lastname@example.org wrote:
On 2020-12-05 05:49, Paul Sokolovsky wrote:
For that I would need to use RPython. I considered that circa 5 years ago, and of course explored it. I "liked" what I saw, sure. But I "wasn't happy" with what I saw.
There seem to be hints that I may be making this "strict mode" thingy because I wasn't aware of PyPy/RPython. But actually it's the opposite: being aware of RPython and knowing enough about it is what causes me to explore a different direction.
The main thing I don't understand is what you expect to be the result of this proposal; or, in other words, what you expect anyone besides you to do with your idea. You say we shouldn't think in terms of CPython, that this is separate from CPython. You say you're also not interested in existing alternative Pythons or quasi-Pythons like Cython. So what is it you want? Some people here to say "Yes, I'll join you and work on a totally new restricted version of Python from scratch just to see what happens"?
Roughly, I expect it to be about the same as for e.g. https://www.python.org/dev/peps/pep-0509/ . The background motivation of the two is the same: look for ways to optimize name lookups. My however reaches "above surface" and requires some restructuring on the side of the Python programs, so potentially "affects" (as in: can elicit response) from wider audience than PEP509, which is clearly targeted at Python internals enthusiasts.
Generally, as any human being, I'm interested to communicate, and potentially, even cooperate, with other alike-minded human beings. I don't pledge for the latter. I will understand even if nobody is truly interested in my idea. But it's my strong belief that there should be more people interested in this stuff (not just my particular proposal, but stuff related to conceptual, "meta", and on the hand of spectrum, implementation, matters in Python). So, I post to whoever may be lurking around, or who wanted to look at that stuff for a long, and bringing it up may be the "last straw" for them to actually dig into it.
Receiving criticism from not-really-interested people is also helpful, but such a discussion quickly derails, as the experience shows.
So, coming to specifics, some points which *could* be discussed:
1. The proposal makes claims that some of the restrictions imposed are already oftentimes imposed by codebases caring about their hygiene. It would be helpful to get (detailed enough, not low-effort) aye's or nay's.
2. For restrictions where the proposal goes beyond something which can be called "existing practices", how harsh are those, and what can be done about them? There's literally one (YMMV) "grave" thing in the proposal - prohibition of runtime imports. It's also outlined how to address them. So, if we get past Chris Angelico's "no no no no" for a curious walk, what do we see?
As an example of possible p.1 discussion point, a case of global variable definition/declaration matter was brought up in another message. So, do you define your global variables at the module's top level? How do you feel about it? Is it:
a) Are you nuts? How else can it be done? b) I do it. c) I don't do it. d) Defining the global variables at the global scope? Only over my dead body!