From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Arthur Miller Newsgroups: gmane.emacs.devel Subject: Re: Shrinking the C core Date: Mon, 28 Aug 2023 08:55:55 +0200 Message-ID: References: <87ledwx7sh.fsf@yahoo.com> <877cpfybhf.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37357"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 28 12:57:34 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 1qaZw3-0009SN-4h for ged-emacs-devel@m.gmane-mx.org; Mon, 28 Aug 2023 12:57:32 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qaZsn-0007kd-Ft; Mon, 28 Aug 2023 06:54:09 -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 1qaWAQ-0005h1-G4 for emacs-devel@gnu.org; Mon, 28 Aug 2023 02:56:07 -0400 Original-Received: from mail-vi1eur04olkn2056.outbound.protection.outlook.com ([40.92.75.56] helo=EUR04-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qaWAL-0005Fd-GN for emacs-devel@gnu.org; Mon, 28 Aug 2023 02:56:06 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DGXV18cyi2i4+edU2fDKP/mIAzO4v/0+Eg8x0CEOOkP4zx8ivcruh4yK4RWJV9erErEz0zk+YbP58UReXXCbz1FQFoaGhIXB6DDugGJsRBgNTn80JZ2V5ZYfQYxfT1iFIRx0aRwh/tXzczLs/9685Xw0xTakkuS4sAd32V7UlYr1uiXSPhONQhl+xQb2yVZknJvXaAElvL6pGhg1bt6TWBpgTZhTdJGTcPvgrCWkM09UsueahRLy5tHewIPMlYrqD9wtRHIGge4513lQG3iOoBHfzfqwlQPng4hhidRHuxgLO0OHe6Hal+K5JrigSPD0T435fpMPVA0DkxX8wfOubw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=izkgy/zil/xI8U1zKOuPzYVOjO3U66HZQC1tyB6tuX4=; b=I/GofE5mCwcbwncwamji8Wm5oucnj40JYO5ap6bhOcWDe1QPlTfAM3agSQjT+EmcPWOukn9yJg+yRy0Py//3jQHULdst0+Sy9GzucR/+xtpXRH78+KzX0i06yVCDjjhHlrT4SIbupJ2CxSfU2Grc6/pfXEgocx9DMeIOL+ddv9XVSplIPySXeVS1wLSxzO9XyIRCnq/1c48jWR+vLEIZsyCfHqUd5dY1O+Gq2QnN16YvCAE+J5RT+jSHDDWzWgt/e3ncpNx0SP+3VnNtvFo9T7t10OkfOGX4rmp0DOI8qFFqvgqFy8a6Lk1YxisrL+G9dF8h1CYXwdZXy+wdBfzDdA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=izkgy/zil/xI8U1zKOuPzYVOjO3U66HZQC1tyB6tuX4=; b=ERfSQsWXYt1EtWLnnqKYT58F1KveGOvaJDUds3Xqkq67bs1Yybn+Ob3cs/A/NNW+mWWObuDpDcrAmpxijer51/zAq+xs4PW1jemI52TSJoBrYoQOzOfYcEwLipQC1FeG8wfS2kt9FB0LJARMdRjQnFxX9SVFHJbGCIdz3s47ywODqWpdG75kQAot9MYpK+0j5G3q0XjkvKjpZzLcAh/8wTxmueDMFn6xvPqCMkokL0XIp1I5t0xcSDs8e7CTbyqSfCDDlorPoplIqp6bBydndWLXPuKpUObGatxzthiKqcJYkpAZ7AQMrD25yNzI8DQ0z+ngxY0PrDVpAg5GG38FVw== Original-Received: from AM9PR09MB4977.eurprd09.prod.outlook.com (2603:10a6:20b:304::20) by DBBPR09MB4538.eurprd09.prod.outlook.com (2603:10a6:10:20c::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Mon, 28 Aug 2023 06:55:57 +0000 Original-Received: from AM9PR09MB4977.eurprd09.prod.outlook.com ([fe80::df56:b1b1:64b1:6122]) by AM9PR09MB4977.eurprd09.prod.outlook.com ([fe80::df56:b1b1:64b1:6122%7]) with mapi id 15.20.6699.034; Mon, 28 Aug 2023 06:55:57 +0000 In-Reply-To: <877cpfybhf.fsf@yahoo.com> (Po Lu's message of "Mon, 28 Aug 2023 13:36:28 +0800") X-TMN: [kgumLsCYR7prc8IjUfn4hO3OEFxm442+lrZikNcaSvI=] X-ClientProxiedBy: MM0P280CA0025.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:a::16) To AM9PR09MB4977.eurprd09.prod.outlook.com (2603:10a6:20b:304::20) X-Microsoft-Original-Message-ID: <87o7ird5ac.fsf@live.com> X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR09MB4977:EE_|DBBPR09MB4538:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b6f48b7-ee1c-4e6c-0974-08dba793d3fc X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gAdhI3M1v88DdDqKNeZfJeQyq3i7/uAB+ug/e36nWV1J309N/my+RFRDqtmZN7A0ykhvgsmhvJt2BnwzI0CTDXOCjhmJ0SArQARc5l/7RrkjsMKBlcmE4o2462l+ri29g7rgmrxliULJ7XzzoVfmndDwpZk3O3hL1I2mjMIh2D88AQq3opnI44MdhB7cX7deKv9qE+T48qlXN6I/J++EejMOpBWmrVkmmm9U4WThwntZjlF3yIkxsCpvBOwcDT1O/LlSQWUKv4NI+BBqZ8xsq5ZIeWHbmU65vJMGBvxOCYvQyuRP0dKBsSQZH2ZXdjd+vcdqRNmgCuH+eImH6g5qnajdzbfTNJ7WM4wr+/OzpF1blsEBXQ6eeJ72/D0Xzhiat6foAqjRtdjp/yHfPcQXLNGjW+j345F1AOnRnCWD74vuMe6kU/StE6dw7XG5uSkQ+w0Vy0znCLJfozGHOmkfYfODqhabG1lDF5EoT6zxKo15Rj54xRr2YCM3HiTJCZK4CbBx8j9Bbq1P78zGpmr9H52pOL+ScZqxWvZQcOuik3hpDdYu+TPgcxHzS++i5e3/ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3LIeLCwXqghmiJsDHo0+SOAF+huso2JSKiDZP/F5owFYOZGK4BF+5NysdfEE?= =?us-ascii?Q?eDPytOgEJm/8XeSeI3H94lF6CEHDaFYwWADo7IWqzdtlL36eTqwGGHPbfz6q?= =?us-ascii?Q?uTrn8L1O3rmQHnK+1GzjJm36SdcXjVZPBF8P+9hFlADvIqGiXCx8I1Zg9tEi?= =?us-ascii?Q?K00yIw0JqmPtCyLQL4Rz641BN5sPgcUF8eoCadErf4n9vNWDx9M+6EAyXYJJ?= =?us-ascii?Q?U5NpZ3/hdJCMdzkdUP/09LsXJEoAdkFbQlYkJiunQP19KTohRrCId3gK4OQO?= =?us-ascii?Q?mr8kzZ7itmPsvI1ldO/BKs/NPSQyWIoR+6JZj5oNlX/fAzvl4HlpATaLX01B?= =?us-ascii?Q?cyxpxm3fpOKquaEoUzB+o8JPcotuTeNOvBf8A2iNuOQyAXbTL0t1JVUbz8Ra?= =?us-ascii?Q?U3iU+RnAfoswNbGzcPRL8jSwE7BIeek+3RZshHGR0g1YXwXYguS9LqHDsJDw?= =?us-ascii?Q?eS9qsNQGOXe8JJwbvRjwqyQQz97LyaUrIyNxJPVplQHkLOKosyLep+lVo3Tl?= =?us-ascii?Q?J9B7JuaahLRnuICYkCbRNfT32YKFijhsdQjzvVtShtnAjtb9RZ4OA5IX0IA7?= =?us-ascii?Q?95evqISVIiZjdzd3pHUYQZcuj7qmtIVhGkt4gqcGjKXWzyfpPMzEXFTlI2+5?= =?us-ascii?Q?Ju X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-64da6.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 9b6f48b7-ee1c-4e6c-0974-08dba793d3fc X-MS-Exchange-CrossTenant-AuthSource: AM9PR09MB4977.eurprd09.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2023 06:55:57.0585 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR09MB4538 Received-SPF: pass client-ip=40.92.75.56; envelope-from=arthur.miller@live.com; helo=EUR04-VI1-obe.outbound.protection.outlook.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, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 28 Aug 2023 06:54:06 -0400 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:309422 Archived-At: Po Lu writes: > Arthur Miller writes: > >> In which way is it "the perfect antithesis" to my standpoint, and what >> is my standpoint? > > That Emacs must be rewritten from the drawing board to leverage > multiprocessor operation. I think you have missunderstand what I mean; I can try make it clear that I mean parts that considers Emacs core, shared state and so on. >> If you wrote: >> >> "where the only form of ``interlocking'' **is**", >> >> than it would certainly be a "perfect anthithesis", but since you are >> using the term *was* it means it *is no more*, a past tense, something >> that has changed, and change is what I have suggested. > > Multiple organizations took Unix and independently transformed it into > what it is today: CMU, Novell, Sun, and of course the many volunteers > who orchestrate the development of the free BSD systems. You are missing the point: I wasn't talking about *who* changed the Unix; the point here is that it got *changed*. > What fundamental issues (aside from manpower and time, of course) impede > Emacs from undergoing the same transformation? The Unix experience > indicates that this is well-trodden ground. None. And nobody has suggested that such issues exists either, it is your construction. On contrary, I am saying that Emacs should undergo such transformation :). >> I think you are missunderstanding what I am saying: I am saying that >> design needs to be changed; and the other thing is that I am suggesting >> to rewrite the core API in CL instead of C, since you will get all those >> things that constitute the Lisp Machine out for free; a better garbage >> collector, a better threading, and better Lisp that are people are often >> asking for. Of course you can implement all that stuff in C as well, it >> just that it means redoing work that other people has done elsewhere. > > Last I checked, none of the popular Common Lisp systems supported MS-DOS True. MS-DOS and Windows 95 would have to go away. Perhaps some other popular OS from 1980s-1990s? > or ran satisfactorily on Android, nor was Common Lisp an especially well > known language. There is a reason Emacs is written in C, and why its > present design has endured for so long: it is portable, it is reasonably > fast, and it is a subject familiar to all programmers. Well yes, C is portable and fast, nobody denies that. So are some CL compilers. > Other Lisp systems aren't panaceas either: rewritten in Common Lisp or Nobody said it is "panaceas". But sbcl would provide a better lisp machine, in terms of garbagecollector, threading etc; something you will have to develop for Emacs eventually. You heard that one about a guy with name Isaac Newton and standing on shoulders of others? :) > not, the present Emacs design will still require interlocking to operate > safely in a multiprocessor environment. Ergo, such a rewrite will only > compound the effort needed to produce a hypothetical ``Lockmacs'' (so to Just reimplementing the C core would not, because you wouldn't use multiple threads. But if you would like to thread Emacs command loop or internals itself, than you would have to reimplement it that way of course. Think of Java Swing; at least 20 years ago when I war programming Java, it was not thread safe, but worker threads were OK. > speak) with the additional pains required to rewrite Emacs in a new > language, and one very few of the present maintainers are well versed in > at that. I am sure present maintainers are well versed with CL, just not very interested to rewrite Emacs in CL; and I wouldn't expected them to be either :-). Observe that I am presenting some food for thought; I don't expect Emacs devs to jump and say "Yes! What a great idea!". But I wouldn't be suprised if at least some of them have had the idea in their mind at some point in time.