CASes are one of the most difficult things to write and they’re never complete. There are always bugs, performance concerns, anemic mathematical domains, etc. Every major free or commercial CAS that’s still in use is under active development to battle these inadequacies. Dozens of CASes have come and gone in the past 30 years, the majority of which have bitrotted or stopped being maintained. And not a single CAS has reigned supreme as the CAS that beats all CASes.<p>It’s very exciting to see more work in CASes being done, but I worry that “starting a CAS from scratch” isn’t the right approach. The Axiom [0, 1] project rightly identified that building a general-purpose CAS for working practitioners of computational mathematics is an effort requiring nearly generational timespans [2], and that you <i>must</i> have the right language to describe mathematical objects and their relationships. They had a literate programming policy, where <i>all</i> math code must be accompanied by publication-quality documentation, precisely because it’s so hard to build and maintain these systems. Some of the greatest computational discoveries and expositions came out of the development of Axiom, like the richest and most complete implementation of the renowned Risch algorithm for doing symbolic integrals.<p>Axiom fell into disuse for a variety of reasons, but from my perspective, found new life in a fork called FriCAS [3, 4], which is actively developed and allows a more “software engineer friendly” approach to the development of the system. The code they have is enormously complex and has mountains of knowledge from foremost experts in computer algebra.<p>I really wish new computer algebra initiatives attempted in earnest to make use of and extend Axiom/FriCAS so that we could continue to build up our knowledge of this exceedingly delicate and tricky subject without constantly starting from zero. Axiom has a manual that is over 1,000 pages of dense mathematics and that’s <i>really</i> hard to rebuild correctly.<p>(The only project I know who honestly tried to build upon and subsequently extend CAS functionality is Sage [5], which builds upon a plethora of existing open source general-purpose and specialized computational math systems.)<p>[0] <a href="https://en.m.wikipedia.org/wiki/Axiom_(computer_algebra_system)" rel="nofollow">https://en.m.wikipedia.org/wiki/Axiom_(computer_algebra_syst...</a><p>[1] <a href="http://www.axiom-developer.org/" rel="nofollow">http://www.axiom-developer.org/</a><p>[2] Quote from Axiom manual (<a href="http://fricas.sourceforge.net/doc/book.pdf" rel="nofollow">http://fricas.sourceforge.net/doc/book.pdf</a>):<p>> With that in mind I’ve introduced the theme of the “30 year horizon”. We must invent the tools that support the Computational Mathematician working 30 years from now. How will research be done when every bit of mathematical knowledge is online and instantly available? What happens when we scale Axiom by a factor of 100, giving us 1.1 million domains? How can we integrate theory with code? How will we integrate theorems and proofs of the mathematics with space-time complexity proofs and running code? What visualization tools are needed? How do we support the conceptual structures and semantics of mathematics in effective ways? How do we support results from the sciences? How do we teach the next generation to be effective Computational Mathematicians? The “30 year horizon” is much nearer than it appears.<p>[3] <a href="https://en.m.wikipedia.org/wiki/FriCAS" rel="nofollow">https://en.m.wikipedia.org/wiki/FriCAS</a><p>[4] <a href="http://fricas.sourceforge.net/" rel="nofollow">http://fricas.sourceforge.net/</a><p>[5] <a href="https://www.sagemath.org/" rel="nofollow">https://www.sagemath.org/</a>