It seems to me that Julia type system built around algebraic data type and multidispatch can be well described using computational topology principle in particular cochain complexes, cech cohomology, may be topological data analysis
IMHO, that’s why OOP fails so often: jailing every method in one class and trying to serve everyone at 360 degrees. Served with pointing, pivoting, nesting again and again. Epic failure about to happen.
That would be nice if this could be better explained and may be even represented and included into a Julia CAS (which will lead to a kind of self-hosting computational and mathematical language)
On the current master branch of Reduce along with the unregistered package ReduceLinAlg, which provides the hessian constructor, you can now do something like this along with other things.
The core features of those have been implemented, although there still may be some edge cases where it doesn’t work properly. The following is the new ReduceLinAlg package, which gives an initial external demonstration of how the parser generator can be used to extend the Julia language:
Other developers can certainly try to add more functions to the ReduceLinAlg repository by using the parsegen function provided by Reduce.jl and by studying the upstream docs. More explanatations will be laid out on the documentation in the near future, to help developers understand the process of extending Julia using the Reduce parser.