Re: Maxima and thread safety
Stavros Macrakis <[email protected]> Sun, 7 Jun 2026 17:25:40 -0400
| Newsgroups | gmane.comp.mathematics.maxima.general |
|---|---|
| Message-ID | <CACLVabVc7PLTR028pxH8WUFVZ_8LYfB6BUJQdN+mmwJSbH90iA@mail.gmail.com> |
I agree with all of this until: On Sun, Jun 7, 2026 at 4:35 PM David Scherfgen via Maxima-discuss < [email protected]> wrote: > ...Multi-threading support is a fundamental architectural design decision > that is difficult to retrofit - especially for a program like Maxima, which > was written decades before multi-threading was even a concept. > Actually, multithreading was not only a concept when Macsyma was being developed, it was actually implemented in Lisp systems at the time (under the name multiprocessing): - BBN Lisp (one of the godparents of Common Lisp) implemented multithreading in around 1974 and had a tree-structured stack. - The Lisp Machine not only had multithreading but also built an entire operating system out of it, starting in 1974. But MacLisp, which Macsyma was being developed on, didn't have these mechanisms, and anyway most of Macsyma had already been written at that point, complete with the ubiquitous use of global variables and data structures. For that matter, the purpose of multiprocessing at the time was not to run compute-intensive tasks faster because almost all machines only had a single CPU. It was for dealing with asynchronous events like (early forms of) windowing UIs. _______________________________________________ Maxima-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/maxima-discuss