No, a lot of this is not out of the box or certainly don’t exist in mainstream languages today. Multi-methods as found in CLOS really only exists in LISP and has language support in Julia. No other well known language has it.

What I am really talking about here is meta-programming which is understood as a powerful way to build software for those who understand it. It is one of the signature traits of LISP: build a domain specific language for the problem you have and solve it with that language.

It is also something used extensively in Julia, which useful for a wide variety of cases. E.g. to solve statistics problems.

More lately has been to do automatic differentiation widely used in machine learning. And no my friend that is not something that comes out of the box in mainstream languages. It has been a lot of effort at Google trying too add this capability to the Swift programming language and it still doesn’t match what you can achieve with meta-programming in Julia as examplified with the Zygote package e.g.

Anyway I hope this helped clarify.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store