Re: Maxima and thread safety

David Scherfgen via Maxima-discuss <[email protected]> Sun, 7 Jun 2026 23:45:40 +0200
Newsgroups gmane.comp.mathematics.maxima.general
Message-ID <CAMTHLKjyzAMQS9Rj7DHRn-ABJwqjV8UH00CHOx0+Se0TEet1Wg@mail.gmail.com>
Thanks for the historical context, Stavros! That was long before I was born
...

To clarify, what I really meant was true hardware parallelism
(multicore/SMP) aimed at accelerating compute-intensive tasks (which
requires synchronization), rather than concurrency (time-slicing on a
single CPU for asynchronous events).

Stavros Macrakis <[email protected]> schrieb am So., 7. Juni 2026, 23:25:

> 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