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: [External] : Re: Shrinking the C core Date: Tue, 12 Sep 2023 04:30:39 +0200 Message-ID: References: <87ledwx7sh.fsf@yahoo.com> <877cpfybhf.fsf@yahoo.com> <873503y66i.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="13809"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Drew Adams , acm@muc.de, luangruo@yahoo.com, emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Sep 12 13:05:42 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 1qg1DB-0003Fm-BJ for ged-emacs-devel@m.gmane-mx.org; Tue, 12 Sep 2023 13:05:41 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qg1By-0005It-UN; Tue, 12 Sep 2023 07:04:27 -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 1qftAt-0002jn-Ej for emacs-devel@gnu.org; Mon, 11 Sep 2023 22:30:47 -0400 Original-Received: from mail-db5eur01olkn2083.outbound.protection.outlook.com ([40.92.64.83] helo=EUR01-DB5-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 1qftAq-0003KC-Ia; Mon, 11 Sep 2023 22:30:47 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kv9vku9UHBaK79yBLub0NWLbS7XyfW9PzGP2B1IyjMpIRp9ieu00JiKufvDUl8A5VL62mn/AZ2iG47bLiUcF2lvFpe2DQIzLob9VRkNLlr+XxhDH+3x1i8JMAAvzwU8l0aDOvrEmGlyh9qMvIQlM9cGRMOSc8rinxRgjMc0mnistvZSfDBh9oNDyDt3pCF3OZm9Xd52QsB2s0aBNVOWl2DZYSdhKv450f9JucEDke24yspW1tFFxhiHeHWUQkkxVWIRjHXuroPrJGMGzBXhg4hVE+iuOAbtcVwLoqif8QE4m2iHt74CAOhhDaFZIqRRl7xFgjVzvx2SfGZWrnygICQ== 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=gnQ0urqfV1ilB3zqNuqeIYheNH09JOmSUQPuwNQsQyY=; b=ETW5dlg6LPp/FIZJG65K/RF02siYrIDpCAuFptyQFtjfqGlVgyh04m2ltpfhBZ5zjE9C3Cgx4oHghMUFSJGdoHx9sXbQjR2/TaO4ln40Qx4PfMd4Tcqd3NurDVnAN5SloLAEJB/eu/Dlx1S0y/iDBtTzNn+g/LCFJYcUXnY7OXXeW1ptq1MVjf7T6BykkZUtW8edGTuic8h50ztsCQegCrlRSrQiljAKLwIZh+h9YUYwYcQES7lYFCw3sorw0HtQjvymK1tKj7vCHpKUphrgwijrVKDrODFYuXOESs4s7VgpLVu6JkSdt8VNcdxNCXd3zg9h1Ieh4DV4hd2xFesZEw== 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=gnQ0urqfV1ilB3zqNuqeIYheNH09JOmSUQPuwNQsQyY=; b=pJP+L8ShPyTnR2XwGSelcSYyAUQx3X9r+WJKV5xSiTMkPsBOQLPM5ukdg2sbsblTXohZr7VnAVOZAyOCkwB26Ck4cfJyE9Qo3XoYy1mZmtt6zQc1pIqiT+UpMwOE/HgPU22iZdy9vEGFFg7p/DjOOYAeC+ERi337oU1GR1Alf9M7YSxgCUMMk+oECq62gcNeMuc1hZ+a0UhtbDrXCwf1wbs7VtYIoNTMVp2CLzjhxgEiIolM5aH4zcZj4E6yQJicxvmVybRrEr3YLltC3MXhFV2Qqvv80cni/1T/K7HWVml9umDEQy+tKsKbq/ovTSaAxccrKptmFj31B0cYLNSckQ== Original-Received: from AM9PR09MB4977.eurprd09.prod.outlook.com (2603:10a6:20b:304::20) by DB4PR09MB5776.eurprd09.prod.outlook.com (2603:10a6:10:378::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.30; Tue, 12 Sep 2023 02:30:41 +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.6768.029; Tue, 12 Sep 2023 02:30:41 +0000 In-Reply-To: (Richard Stallman's message of "Sun, 10 Sep 2023 20:40:21 -0400") X-TMN: [qX2R2esu2JPCVrYm/RmnONfKoVK/FFGx] X-ClientProxiedBy: OS6P279CA0103.NORP279.PROD.OUTLOOK.COM (2603:10a6:e10:3d::14) To AM9PR09MB4977.eurprd09.prod.outlook.com (2603:10a6:20b:304::20) X-Microsoft-Original-Message-ID: <82bke83yy8.fsf@live.com> X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR09MB4977:EE_|DB4PR09MB5776:EE_ X-MS-Office365-Filtering-Correlation-Id: 44e517b3-7ea7-4666-9101-08dbb3384204 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cyAgbcvo9PguJ+CqEmGrHMfaNADdcEPf2dqfcNErJ+hQ1gAwxshX1wQ3OTAO2sF0Bx5Xae8NZjZvCJ7BIAPQCqiIHbzoaLaDBdSTaMvh1hoGIE8Fpc3pItMhfVpJ7jeRCkySusYAgzOKn2YnxFKb+2jravc47pkvBXLV8/oFxHWDvPSOzkeSl4UwI/mAUKnYFQ117/8uV1b8EHu416QYD+Jp80D4eITr1MgLgVDzHYdo6UHoJ+HERUQm12HtbvbIwDkzHZcBqwKtcOOL6h8gKZi8o4wvnryuP0fy+YwNSZDxxpqgplbhhYNqeBeSa7pBmekEFln0lEgVB5tfYGkSZiixTwi43yUN3tqaQsAo9OX0Wh7AC5L/+GJ+MKYlSsOnUbUBeNXj90AEpLuc6Q5le0Yu93lkkTdXEhOsjbNYIPGJzOfa7/bCbj4DXN9HqB3bef1VmqglAoIqDX3VKloeNVQEEzmypfmr+GZnhpWuQhT1HH2D4soVRkD6a+1MhaUEASi+8i7/HvlJoAWAsVDwe+cSb8ljKuBVACo3SOILg2XC51VAcNvqmTHyqPcAXzj4 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5ML5rot/iu0UVRPPWBd4CmDJW9Mq9Ni1iz6Eqe2tSRRdcOoWjyY0BZEONaS4?= =?us-ascii?Q?rsilXSDSmOBTHlGdCYF6A/H20S2Uk+THNK64sVerJar1bwgtr8GDDrwjeYhz?= =?us-ascii?Q?+ptiGYuiMioqb8JOamXmVwnt2dskQq+rk4QHDkWclfcAnnRJ9Xgukz5ktvB1?= =?us-ascii?Q?1hKLyP1QNRI9a4YVZh9FAFObdpK1vQaOM93hveI3ClMCrl76J9kj8mCg1nPi?= =?us-ascii?Q?Gek3tm3wSQvurXvAVy/izTD0rvYMZRm25LaqxxU2msxJK9lKl033C6c0C/fX?= =?us-ascii?Q?7CJO5m1kyLR87P3wDKlhiiClKVijVd5n7tjmF6K80Y84PaBlJnSkfuf1JWbP?= =?us-ascii?Q?7EF6sYBe9lAgBVWHr7aJIj9aYbH5Kn5fVb/IV+RGbWQIlrXKn2SgEjzTgs3L?= =?us-ascii?Q?sXZXBWsTRdeLktR2ZqnPy4r9JVFiECfLsVCaGoNYtrfiB4ftAcjcqU0FEwsW?= =?us-ascii?Q?gTwo0SFoPzfAOUdT4BIPHx6KHRGKXj9ukYr3YxRS6Lc5v6wP8IegJ2H4cieU?= =?us-ascii?Q?znsK3ZGUckyxup2Qr/gNKa/wwzgzNqo2WTVDAKFmZSjahmV4+Cb/CU+akBBr?= =?us-ascii?Q?SMtVTxrKaHf8HrSTpCe6Xy4NJRg0Oq9GcGH3eKRhGzjuJcmzTugjl/7bMynk?= =?us-ascii?Q?H0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-64da6.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 44e517b3-7ea7-4666-9101-08dbb3384204 X-MS-Exchange-CrossTenant-AuthSource: AM9PR09MB4977.eurprd09.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2023 02:30:41.4523 (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: DB4PR09MB5776 Received-SPF: pass client-ip=40.92.64.83; envelope-from=arthur.miller@live.com; helo=EUR01-DB5-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: Tue, 12 Sep 2023 07:04:21 -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:310516 Archived-At: Richard Stallman writes: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > I implemented Common Lisp for the Lisp Machine in 1983. > That included the generic sequence functions with their > many keyword arguments. > > In 1984 I wrote Emacs Lisp and decided to omit all that. > I have no regrets. Their absence makes Emacs Lisp easier to use. Thank you for explanation and clarficiation. Now at least I understand why you don't like them. > Keyword arguments are fine for an unusual, heavyweight operation such > as creating a frame. The sort of function whose doc you need to look > up again each time you use it. When something is as cumbersome as > that, the question of how to pass the arguments is a pile of minor > details that you'll see when you look it up. > > But it's a pain in the neck to make simple everyday functions such as > `append' and `length' that cumbersome just for the sake of following a > general system. Part of this system is that the default argument > values follow the system, rather than following the traditional Lisp > functions -- so getting the traditional behavior requires actually > specifying the keyword arguments to override defaults, almost every > time. Of course, but nobody suggests it is all-in. `length' is not a keyworded in CL either. It would be madness to do something like naming all arguments in all functions. But it is convenient to have keywords in some places, like for example in define-minor-mode or make-process, or even "new" define-keymap. > Switching to Common Lisp would cause those painful incompatibilities. > It is unacceptable. > > Defining the CL functions with a name prefix is ok, because the > traditional Lisp functions are still available compatibly and we don't > have to use the CL functions. This is what we have now. If cl-lib was loaded into the lisp image, we could even rename cl-defun to defun, after we have initialized all the other stuff that goes into the dump, and have "upgraded" vesion of defun and would be fully compatible with traditional Lisp functions. We could even go further and remove cl- prefix from bunch of symbols to make them less cumbersome to use, and everything would stil be compatible with traditional Lisp functions. I think there is a thing that makes Lisp a bit special compared to other programming languages, and Steel mentions it briefly in his legendary talk: anyone can add a new feature to the language and it becomes part of the vocabulary without distinction from the built-in stuff. Keyword arguments does not require anything special from the C runtime, and we see them pop-up in different forms in elisp. Perhaps elisp would be better off to accept them and make cl-defun the norm, instead of seing macros like define-minor-mode re-implement the technique and some other macro possibly do something similar which leads to more less maintanable code. But that is just loud thinking, since my point wasn't to suggest any changes, I just wanted to understand why you didn't like keyword arguments per se, so thank you very much for the answer.