The same unique feature set that makes Julia great for a variety of numerical domains makes it the best choice today for implementing a general-purpose symbolic math language. I’ll begin with a brief zoology of symbolic math languages, and explain why I am interested in those that focus on giving the user great flexibility in rewriting essentially meaningless symbolic expressions. I’ll give an overview of the distinct achievements of the projects in the Julia community that share this focus. Symata.jl is the most highly developed of these projects. I’ll show how Symata.jl provides another example of how the astonishing productivity of the Julia ecosystem allows one to compete with industry heavy-weights, and opens possibilities that are closed to these existing systems.
John Lapeyre has worked in industry in device physics and data science, and in academia in statistical physics. Before working on symbolic math in Julia, he was a developer for the Maxima computer algebra project.