I would say it's a good thing, I don't want to see a hundred of half baked, badly tested and vaguely document DSL with no decent tooling support.
Incidentally this turns out to be super hard to search for without asking an LLM, since "python coding" is so overloaded, and using the feature this way is intentionally undocumented because it's not really what it's for, and not something I think most python users really want to encourage. So, forbidden python knowledge!
Let's say you hate significative spaces, here is a (very fragile) PoC for your pain:
https://0bin.net/paste/42AQCTIC#dLEscW0rWQbE70cdnVCCiY72VuJw...
Import that into a *.pth file in your venv, and you can then do:
# coding: braces_indent
def main() {
print("Hello, World!")
if True {
print("This is indented using braces.")
}
}
You also can use import hooks (python ideas does that), bytecode manipulations (pytest does that) or use the ctypes module (forbiddenfruit does that).Still, I'm very happy it stays limited to super specific niches. Big power, big responsibilities, and all that.
When this comes up I usually link to the work of Alan Kay and others (the very mystical sounding STEPS project at VPRI)
""" The big breakthrough is making it easy to create new DSLs for any situation. Every area of the OS has its own language (and you can just add more if you feel the need) so that the whole OS including networking and GUI is very compact, understandable, and hackable. This particular project focused on compactness, just to prove that it is quantitatively more expressive. """
comment by sp332 https://news.ycombinator.com/item?id=11687952
final report from 2016 https://news.ycombinator.com/item?id=11686325