From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?Gerd_M=C3=B6llmann?= Newsgroups: gmane.emacs.devel Subject: Re: Emacs design and architecture Date: Sat, 16 Sep 2023 20:33:31 +0200 Message-ID: References: <83h6nwlmt4.fsf@gnu.org> <456d12ac-ecf4-3de4-56bb-a2440580777f@gutov.dev> <83a5tokmsv.fsf@gnu.org> <83sf7fki5g.fsf@gnu.org> <43d642a8-d1b4-05ed-41e0-6e52d22df2d4@gutov.dev> <83edizjn0v.fsf@gnu.org> <0518f65b-1dd1-6923-8497-da4d3aeac631@gutov.dev> <1cff05f8-df80-b776-5175-dd27a6e59799@gutov.dev> <87wmwqiax9.fsf@whxvd.name> <87a5tmz319.fsf@yahoo.com> <87a5tmp5cv.fsf@thaodan.de> <8b144985-85f2-79e7-d932-2070336b13aa@gutov.dev> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29565"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: =?utf-8?Q?Bj=C3=B6rn?= Bidar , Po Lu , Sebastian Miele , Eli Zaretskii , yuri.v.khan@gmail.com, owinebar@gmail.com, rms@gnu.org, emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Sep 16 20:34:39 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 1qha7r-0007T6-Mf for ged-emacs-devel@m.gmane-mx.org; Sat, 16 Sep 2023 20:34:39 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qha6t-00080J-HU; Sat, 16 Sep 2023 14:33:39 -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 1qha6s-0007zv-AV for emacs-devel@gnu.org; Sat, 16 Sep 2023 14:33:38 -0400 Original-Received: from mail-lj1-x22f.google.com ([2a00:1450:4864:20::22f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qha6q-0007zZ-Ob; Sat, 16 Sep 2023 14:33:38 -0400 Original-Received: by mail-lj1-x22f.google.com with SMTP id 38308e7fff4ca-2bcb50e194dso50990151fa.3; Sat, 16 Sep 2023 11:33:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1694889214; x=1695494014; darn=gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XcRSOOgy/qIwV5wn+OLSv5enNbm6jkC923ppqEA8LX0=; b=A7riT0ZSA/wkmMjaUs89bFxUWwQsd7ZTaLVe9yJvnDpOZG6rgRdUEm7Abzu8bd2mYv rGkzuAMv7iJ6to0aFIb/BjkJdT6Hy0y95ByoFoojjmMgiBjoJoAc+aI7eEVGe1Sa0wKy kCENXtVXJ56a+c4VrGsZkCPDOywgLJiA/qAl9yDNYMglPLCg8wsnluaCvjFOrnWcV5Su +70ahNee0AWebWjRSV3r11mxm/59yXxPnTV0MkCts6bdAifOuoKn4WNbnPqr/+fbP9PQ e5QGPwAFQ1bw95McMb8beHtIGwXohMDOfr/3pczafRG9MGhewoUCiUoImPE/w4DIKz+L Dnxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694889214; x=1695494014; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=XcRSOOgy/qIwV5wn+OLSv5enNbm6jkC923ppqEA8LX0=; b=vNFVE6dKOxmLGlcHbT/T2SRNjdWvK85fP12mFhGOVyeAH/yM6ODz5DZne4CDT5zFBO fYcXuu0FjO1AoqVdW0YdSs05qc6PhexqLj5VCeA0WOBX++HpJOM4z5QFMygei1P2ActU K3M1M2R4VduKR5SoSNxC3lNu9OtwMty9fiDrzqmHgsJAikX7WvKYGhR+33j+muPZN56K syTRc4h8mZPYShYwDhLKGS6Ez6tBDYV2F74HzMHsBU4ky6C+bBlhufvNmm1dRBEhX4WG 06Xe1bez8cpt+FdrR/yYU/TmJZd8Jwt5DJqGrYkqx8SeZkmKM4Bk7/xB4NmPIlEExWzk oAdA== X-Gm-Message-State: AOJu0YztsANhFqzk/PKilaDzpG+KiiDs53dQ7Zrkr5lYTjOHymm14BaY mCy6vbm77DYUTKxawCwqZiGcoD5lLHB38DQ/ X-Google-Smtp-Source: AGHT+IHZm5BBy5H8Pr9mq+gD7IhD/9D8GjPhczxUXC5qte9hitF9VwwHbm2cFueqSync5HQSLtKFrQ== X-Received: by 2002:a2e:330b:0:b0:2bc:d09c:853a with SMTP id d11-20020a2e330b000000b002bcd09c853amr4099430ljc.6.1694889213429; Sat, 16 Sep 2023 11:33:33 -0700 (PDT) Original-Received: from Pro.fritz.box (pd9e36a2c.dip0.t-ipconnect.de. [217.227.106.44]) by smtp.gmail.com with ESMTPSA id fy20-20020a170906b7d400b009ada9f7217asm4029603ejb.88.2023.09.16.11.33.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 16 Sep 2023 11:33:32 -0700 (PDT) In-Reply-To: (Dmitry Gutov's message of "Sat, 16 Sep 2023 20:30:28 +0300") Received-SPF: pass client-ip=2a00:1450:4864:20::22f; envelope-from=gerd.moellmann@gmail.com; helo=mail-lj1-x22f.google.com 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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:310638 Archived-At: Dmitry Gutov writes: > On 16/09/2023 20:07, Gerd M=C3=B6llmann wrote: >> Dmitry Gutov writes: >>=20 >>> On 16/09/2023 17:20, Bj=C3=B6rn Bidar wrote: >>>> These more extensive modes require more advanced features similar as >>>> when turning Emacs into a "word processor". >>>> In my opinion Emacs being single threaded is the biggest hurdle in tha= t, >>>> gui lockup is the biggest no no in regular gui apps. >>> JavaScript is single-threaded. >>> >>> They have a certain solution for parallelism in specific workloads, >>> though (called Web Workers). >> In Emacs, GC can run Lisp I'm told (finalizers), regexp matching can >> definitely run Lisp (bug#58042), and the devil knows what else =F0=9F=99= =81. I >> personally have no idea how it would be possible to untangle this for a >> multi-threaded Lisp. > > Each Web Worker (in JS) uses a separate address space, without sharing > references, exchanging information through "messages" (which are > copied, not shared). Yes, that's what I gathered from reading about web workers on the web. Do you know what, if anything, makes JS single-threaded? > So this would be like parallel Lisp interpreters with separate > obarrays, memory spaces, etc. Which means someone has to "modularize" the current C code, so that, for example, more than one GC module, Interpreter module, etc. could exist. Not easy, but in my eyes, it would definitely be an improvement. Is there someone already working in this direction? (Not that anyone gets thei mpression I'd work on this... Just saying :-).