• Ordinary programming: 5 person-years by two PhD students; 25,000 lines of C++.
• Symbolic Programming: 200 lines, a few days.
Where do you even begin decompressing a claim like this?
25k lines in fact could be considered small for that sort of C++ engine.
But it would have been reasonable at the time to explore the type system around such a thing and produce a PhD (or a couple of PhDs) from it over a period of a few years.
Of course even at that time there was prior art in the Lisp world, but after the AI winter 1980s no students were going to work in Lisp. C++ was where the jobs were going to be.
The modern world was very much formed by the 90s. Mathematica, Axiom, Maple, etc were all mature software written a decade or more ago. What people were doing wasn't writing a CAS from scratch but writing one that could slot into whatever program they needed at the time, e.g. chaotic simulation of the solar system: https://en.wikipedia.org/wiki/Structure_and_Interpretation_o...
It's got numerous limitations but it is definitely a small program.
Start writing the code and see where it takes you. Having done that type of work in grad school I moved from C++ to Guile for exploratory work for that very reason.
I then rewrote the slow bits in C as custom functions much like how you would in Python.
That would make the cpp loc =200+lisp implementation loc
Check out the course outline as well as the links on “Lectures with drawings”, “Vocabulary” and “Directory for Program Files”. There are also some links to Clojure resources in there that may be useful as well as some study guides and questions.
I might just try to work through the PDF, looks like a pretty interesting course.