The easiest and straightforward way to help python would be taking the mantle of implementing PEP 638 or restarting the development of a library for syntactic macros since you believe it will be a benefit to Python in general.
Sent from my iPhone > On Feb 5, 2023, at 3:58 PM, cd...@cam.ac.uk wrote: > > >> >> Python has consistently refused to be turned into a platform for DSLs for >> almost 3 decades. > > I think SymPy, PyMC, Pyomo, Pyro, and many more packages would all be very > surprised to hear they're no longer welcome in Python. Still, it seems like > it would be quite hard to kick them out, and would probably make the > scientific programming community pretty angry. If you don't like having DSLs > in Python, I think you're trying to close the barn door after the horse has > bolted; you'd have to go back in time to the creation of NumPy. > > Syntactic macros aren't necessary for DSLs; it just makes them better. > Without syntactic macros, DSLs are forced to use clunky, complicated, and > error-prone string manipulation, rather than cleaner syntactic > transformations. For instance, here's NumPy's einsum, effectively behaving > like a string macro: > ``` > X = np.einsum('ij,jk->ik', A, B, optimize='optimal') > ``` > > And now here's the same thing in Julia: > ``` > @einsum X[i, k] := A[i, j] * B[j, k] > ``` > > Which is more readable? Which is more Pythonic? > > It's not that Python doesn't have DSLs (NumPy is effectively a DSL for linear > algebra). It's just that their syntax is sufficiently obscure that it's not > at all clear that's what they're doing. > _______________________________________________ > Python-Dev mailing list -- python-dev@python.org > To unsubscribe send an email to python-dev-le...@python.org > https://mail.python.org/mailman3/lists/python-dev.python.org/ > Message archived at > https://mail.python.org/archives/list/python-dev@python.org/message/RWSSY4KZLQYXHFF34AR544C44NZ6K7XE/ > Code of Conduct: http://python.org/psf/codeofconduct/ _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/HT4NRQ7BYJLUGRQ33HOI45QBG4EC2PIO/ Code of Conduct: http://python.org/psf/codeofconduct/