[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Concurrency via isolated process/thread

From: Eli Zaretskii
Subject: Re: Concurrency via isolated process/thread
Date: Sun, 09 Jul 2023 11:41:59 +0300

> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: Po Lu <luangruo@yahoo.com>, emacs-devel@gnu.org
> Date: Sun, 09 Jul 2023 07:57:47 +0000
> Eli Zaretskii <eliz@gnu.org> writes:
> >> When programmers write such code for other interactive programs, they
> >> are comfortable with the limitations of running code outside of the UI
> >> thread.  Why should writing new, thread-safe Lisp for Emacs be any more
> >> difficult?
> >
> > Because we'd need to throw away 40 years of Lisp programming, and
> > rewrite almost every bit of what was written since then.  It's a huge
> > setback for writing Emacs applications.
> May you please elaborate why exactly do we need to rewrite everything?

We already did, please read the previous messages.  In a nutshell:
because most of the Lisp code we have cannot be run from an async

> If we agree that async threads will have limitations, we may as well
> start small, allowing a limited number of functions to be used. The
> functions that do not support true async will then switch to the
> cooperative mode, possibly throwing a warning.
> Later, if it is truly necessary to rewrite things for async, it can be
> done gradually.

The above exactly means a massive rewrite of a very large portion of
Lisp code we have today and use it every day.  As long as such a
rewrite is not done, "switching to cooperative mode" means that the
Lisp programs runs the way it does today, so there will be almost no
gain until enough code will be rewritten.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]