From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ihor Radchenko Newsgroups: gmane.emacs.devel Subject: Re: Concurrency via isolated process/thread Date: Sun, 09 Jul 2023 07:57:47 +0000 Message-ID: <87v8et8qkk.fsf@localhost> References: <871qhnr4ty.fsf@localhost> <87h6qhnalc.fsf@yahoo.com> <87ilax71wo.fsf@localhost> <831qhli14t.fsf@gnu.org> <87wmzdxewc.fsf@localhost> <83r0plgjeo.fsf@gnu.org> <87o7kpxapo.fsf@localhost> <83mt09gcaf.fsf@gnu.org> <87wmzbc3af.fsf@localhost> <87edljhmjq.fsf@yahoo.com> <87fs5zbuwn.fsf@localhost> <871qhjgrku.fsf@yahoo.com> <831qhieumz.fsf@gnu.org> <87lefqg7yl.fsf@yahoo.com> <83h6qed8kw.fsf@gnu.org> <87h6qefwj0.fsf@yahoo.com> <83bkgmcx0q.fsf@gnu.org> <87a5w5gbs4.fsf@yahoo.com> <83bkglbmai.fsf@gnu.org> <87o7kleeub.fsf@yahoo.com> <835y6tbkr2.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19594"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Po Lu , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Jul 09 09:58:50 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qIPJi-0004xM-G1 for ged-emacs-devel@m.gmane-mx.org; Sun, 09 Jul 2023 09:58:50 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qIPJ1-0000lE-Ml; Sun, 09 Jul 2023 03:58:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qIPIx-0000k7-Qu for emacs-devel@gnu.org; Sun, 09 Jul 2023 03:58:06 -0400 Original-Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qIPIi-0000Yv-5b for emacs-devel@gnu.org; Sun, 09 Jul 2023 03:58:03 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 0BAE9240101 for ; Sun, 9 Jul 2023 09:57:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1688889466; bh=owPwRkYz3H2vUbqmxIyjFNkA9ivNlFIf0MO9DuUTSnA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=lmkbdUey+limj6Z1bk0cL/GvGNpaJc3P50O50EGVP1faGNVU4HAjdQ40j1EuqDFMm J2QQUjLPziarsbxviuumfVSYUK0YQOQAEkce6Y2eSbxcOdLbZ8cOO9aSxYwNPd0vxu G1LcVn7C3nnf8nM9cTDRKkc52uOCTmD2ZS3EzOY9Kq3RITfZJSknvSIPQekjHrEliA 1v4qJf6wLuJ11602WALEfAYG5J4qwvdIIMeF9YdOUG9Qb1QMtSo+1zHJklFDBwA6HT 0J30l7jjJlZnpUHoMMBFL+S4pU/IBFf1bom0X7jOee2zeGDbx3qqfMViF32dX7PW1y AH5Lv0ehr+MrQ== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4QzKHY2Xk8z6tn4; Sun, 9 Jul 2023 09:57:45 +0200 (CEST) In-Reply-To: <835y6tbkr2.fsf@gnu.org> Received-SPF: pass client-ip=185.67.36.66; envelope-from=yantar92@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:307645 Archived-At: Eli Zaretskii 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? 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. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at