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: Emacs design and architecture. How about copy-on-write? Date: Fri, 22 Sep 2023 19:15:27 +0300 Message-ID: <878r8y6v6o.fsf@localhost> References: <0518f65b-1dd1-6923-8497-da4d3aeac631@gutov.dev> <87sf7fc7kd.fsf@dataswamp.org> <834jjuk68t.fsf@gnu.org> <87cyyhc7uu.fsf@dataswamp.org> <83ttrsg9nx.fsf@gnu.org> <83h6nrg4eg.fsf@gnu.org> <83v8c7elan.fsf@gnu.org> <877conk5ny.fsf@localhost> <83ttrreeu0.fsf@gnu.org> <87bkdzeas1.fsf@localhost> <83cyyfe5l8.fsf@gnu.org> <8734zbyu6o.fsf@dataswamp.org> <835y46e8o9.fsf@gnu.org> <87zg1ixvnc.fsf@dataswamp.org> <87il86nxts.fsf@localhost> <87r0mux93s.fsf@dataswamp.org> <87r0mt88xv.fsf@localhost> <87msxedx5s.fsf@dataswamp.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="23207"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Emanuel Berg Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Sep 22 18:14:25 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 1qjinR-0005oE-2K for ged-emacs-devel@m.gmane-mx.org; Fri, 22 Sep 2023 18:14:25 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qjinJ-0002kF-3v; Fri, 22 Sep 2023 12:14:17 -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 1qjinH-0002jh-UP for emacs-devel@gnu.org; Fri, 22 Sep 2023 12:14:15 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qjinF-00014o-Bo for emacs-devel@gnu.org; Fri, 22 Sep 2023 12:14:15 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 20326240027 for ; Fri, 22 Sep 2023 18:14:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1695399251; bh=RxcyPdVXlRorWk+5Swfmhqp3w5ZSnKsBBSuKQ/2BlUU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=mTYiRBWuCzUnr4jp2v37jnmuXIPe2+8Gs75iydhGflA5PS14iKVCdEwAuozBwn2g+ xh+1F+c3EuMBiASkHLV69rLPUMLfLmgdLZsc1m9126uMqVOUs3yVdmKmi1d1w/ID7v kYhgt7O//3x6+bE+/9FuA2sV0eCIBWh1HVCHao29U6BfExnFAJIMou+mbHNHrlv7qX BBLYIzBPrfVDSC4RYcSRziw4RN8qLTvGxBXiXN8oCfnANVeZMVreVdubzcZT9ur1jk Vzpj54MQKBaeYt8gxUQKvYhN7jDrZqteZzqn2rOCNwu2EUbyg/TdYRnm8pnwIA7doR aTOsswfQ3cwtA== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Rsclk2jnHz9rxB; Fri, 22 Sep 2023 18:14:10 +0200 (CEST) In-Reply-To: <87msxedx5s.fsf@dataswamp.org> Received-SPF: pass client-ip=185.67.36.65; envelope-from=yantar92@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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:310979 Archived-At: Emanuel Berg writes: >> Sorry, but I am completely lost. Cannot understand what you >> are trying to propose. > > We can't build a new solution filled with exceptions so it > won't break existing programs that were programmed for > another solution. Eli's point is that the new concurrency framework must allow the existing code to run without modifying it to fit concurrency. Not necessarily fast (maybe with some interlocking), but at least without breaking. Otherwise, making actual use of concurrency will require rewriting a lot of Elisp, in addition to C-level support, which is too much effort - we will have to fight many non-obvious problems any time we want to call an "old" Elisp function from purposely-written async thread. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at