On Sat, 25 Jul 2020 18:44:55 +1000 Steven D'Aprano email@example.com wrote:
I fear that even if we could get the average developer to say "I know, let's use `ideas` to write a DSL", the project manager -- and the rest of the team -- will probably respond "Over my dead body". We're a long, long way from this sort of thing being considered acceptable in production code.
You seem to mix up Python with some other language, perhaps Java. Its usecase dictate being used with "project managers" attached.
I myself and I'm sure many other people use Python in settings which don't involve external project managers. Actually, we use Python exactly because it's possible to make useful projects using it without involvement of dedicated project managers, because Python is expressive and high-level language. And if expressiveness can be improved using custom syntax macros, etc., we'd like to be able to do it.
If your recent idea, the "then:" keyword is based on "project managers" usecase, then... well, please disclose that fact. I personally don't appreciate adding confusing duplicate features to the core language to make "project managers" happy.
But then again, in any professional, commercial setting any adhoc-semantics keyword for loops would be disallowed in the first place, no matter how it's called. That's because any Python project may be tomorrow rewritten in Java, day after in Go, etc. And as none of these languages (or most of others) have any such adhoc semantics for loops, neither it should be used in Python.