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