We’ve done a couple rounds of hacking on Maxima and running Lisp from Lisp at HRL for some scientific studies… haven’t been able to converge on something we want to maintain yet though.
Due to its age and conservatism, Maxima is pretty gross to wrangle. Lots of patchwork loading logic, lots of global state, casual hijacking of the debugger, extreme sensitivity to the order in which this global state is mutated, fragile tests, casual use of CL-USER for critical functionality, single global package, auto-loading system, etc. All of these things are surmountable, but you get a Maxima that you can no longer track with upstream changes easily. And Maxima upstream’s maintainers don’t want to touch any part of Maxima that ain’t broke for their application users.