From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: [External] : Re: What's missing in ELisp that makes people want to use cl-lib? Date: Sat, 11 Nov 2023 18:30:11 +0000 Message-ID: References: <871qd8sfdx.fsf@posteo.net> <838r7g8pys.fsf@gnu.org> <87bkcbrgnr.fsf@posteo.net> <25924.21015.19614.951576@orion.rgrjr.com> <87bkc4jpja.fsf@dataswamp.org> <12da6bcb-1818-7fbe-12af-8d4607724332@gutov.dev> <87il6bt4z0.fsf@yahoo.com> <8734xetjkk.fsf@yahoo.com> <87cywhsrcf.fsf@yahoo.com> <87cywgx1z0.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9928"; mail-complaints-to="usenet@ciao.gmane.io" To: Michael Heerdegen , "emacs-devel@gnu.org" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Nov 11 19:31:41 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 1r1slg-0002SN-Hp for ged-emacs-devel@m.gmane-mx.org; Sat, 11 Nov 2023 19:31:40 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r1skl-0001uj-6W; Sat, 11 Nov 2023 13:30:43 -0500 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 1r1skh-0001uG-Nx for emacs-devel@gnu.org; Sat, 11 Nov 2023 13:30:40 -0500 Original-Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r1skf-0005PK-NB for emacs-devel@gnu.org; Sat, 11 Nov 2023 13:30:39 -0500 Original-Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3ABCd26w023167; Sat, 11 Nov 2023 18:30:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=b+CyfZxF75JIGiRoGvyH7OYKBzUe+2y1ZIVzMVr5XDI=; b=TazZRI4c7x6JcwP55zTvlrmJ2lst09FUyzHuqCOz4J71lVYZ3YAd5zzww9v1nmlsAqi3 LBzxI03jXbiwUefAwk86riSslqhSMz04oeYDcPfrsw09um6dQhQxS51DpLW0rK/MMoxL pm6o/Q/trehiMweaOWTngyfn97yv6PlWxCeunVvpuKmOyK50evHFmrdvrbZzNeZ0eqti BgBKC+fOQ6Jdf5pUhpx9ntENFxqUHHh2HdcFAEMOMHUgSbCiXJ0oK+pggrGNcP4vaVXK 3UIHCny+qcDOwIAKPr002kmncTJ7WBX54+ufbJZZO3K3oHAkPoxLupzgR40WFm8X9/ks sA== Original-Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ua2n9rjkt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 11 Nov 2023 18:30:15 +0000 Original-Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3ABFggHV031248; Sat, 11 Nov 2023 18:30:14 GMT Original-Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2169.outbound.protection.outlook.com [104.47.73.169]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3ua023ahuy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 11 Nov 2023 18:30:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PCvQdoF2WvVtmjPaDE/vMiTOKDx+RzHSCe88nyGXTOphcxynrx2ahQRXpWHH5pOQE55fR/ibIQGCxnGwmsnGbZMEVKGwmqGEaKxX3QkXMl0NX8lrTz0puzvb2p15FAJ6+OHFrbg8ZN+oIHqTLnFuFz4ikM8duB/CPP7GATtYwcfj8QVJ2EzV3gHs3VNve9OnZVZmDWnSXPiq8MB0pFEb0y+JXAC1zt4QXht2784He4MGKCjyd0LWUJUuS88/AUHwBfuBt1lFVxtdRS6iXXfAO08Q0M3MuzTIbF0P4wRy2dWfhwqoLzdaTcv603REFNRsv6aHnLeSGGfVGk+Yf8kR6w== 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=b+CyfZxF75JIGiRoGvyH7OYKBzUe+2y1ZIVzMVr5XDI=; b=kKUS7KIf0Xe6eFMRdKwgGjMr7BOHNdyPIlDJbVinqmM+Py4p2lfmkW1CW15poctAU0tRY+ycIKyIRfJPhCEGeHTMML3XY5EO7pc15AkZCFTOZjk70v4cnJ1kkzcb65RuSu9DTzVbAvnRUmsBURDXujq2I0ebsWDsmtQkpW0ynHipVnzOBGn25ExmlQ0GLUjpf9St1kIZXKp+pOAdsZu7jA65DVFwcT7cVrmowhL4BBvxwwR2w/63wDkp/XZ3+SXImrVkG1Y+1QccsmMuY5lzhFm2hgRGs1EAROSe5/V6iPTEWTwB1Jdhh7sEhOdoBSwQjuOlLWnqUpLfVcKcvl6nhw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=b+CyfZxF75JIGiRoGvyH7OYKBzUe+2y1ZIVzMVr5XDI=; b=MZisCTESKLi8xozbClidWaACcjg27TLGrPmUfj7BSL78gzwFmFR+PmyB0jCfHUM3JtlgNEzqDLROcuiYWmO01+nE52mqneWidckbhN1QhqEpT/eZvcpKI6DHbuWlwny3Ab7MntoPQDFq4I309mQyEsADYyWnb3lRjvC3S/+di4s= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by PH0PR10MB4568.namprd10.prod.outlook.com (2603:10b6:510:41::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Sat, 11 Nov 2023 18:30:12 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::3b4c:a669:c229:47b4]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::3b4c:a669:c229:47b4%6]) with mapi id 15.20.6977.026; Sat, 11 Nov 2023 18:30:12 +0000 Thread-Topic: [External] : Re: What's missing in ELisp that makes people want to use cl-lib? Thread-Index: AQHaFGSZ69kfsqMShESwTykqLRyfALB1XNaA In-Reply-To: <87cywgx1z0.fsf@web.de> Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|PH0PR10MB4568:EE_ x-ms-office365-filtering-correlation-id: a31e78ab-8505-4204-2bd2-08dbe2e43d94 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: v/TJL02B6qTpXpTAe0aV/AXREuDNLpd13G8i8aB7hUyndvUuEOcAaCZRwG1PZgWjFkdjo9dIm+/8q7geWlU/At7ExLfu9+UiqAiwsJCiZbEb6FW6aYyd3VFlcmdChNOO++2U3kSnT2e87wFyMh3mfzvII3CeBG6vexjo0o8a6BySo/X0oPwGsES8hg49EAQQL+ctBpBoUPdFgJts9IWVWbk50GvJnH5IPIn64cjPNfOZUvo2Sr6QqvDKWwikI7J1abNSl6ElQC3Z0EdwMlqIY9/lTrIwjLqJ1pb1I2aigb3V705TayYjO/PTu6HfpNfSuQH5k+yrjtEyizEl3kv7TfzoyOMLVwnoiE8waiBkZg+ZRKq9jIs57OEU1P+aJzTU1KkjXkf+OrgOk4uBLtS2E/wNmyK3nXddlQdGRuUkwDcqyYbeWKd427uAKAArc/YMYyl7lMs/FMOHF/Zi4EHgaeTflnXMz86fhCX8Yj317Sva31C88nFUWjnSBQCmKClDY6oR3EuOida4T4b9Xm8YA9IqFOzFVqWdyUVT6Y0p+aw3+cyvWxoLZaTs9FsD24yC5YsxTAcy3OSLPPA+G8lLF5haxmjg6cnpdeMJV9V0IRSyQsZsMwdIozOJu5Aq1f/k x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(39860400002)(366004)(396003)(136003)(376002)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(478600001)(71200400001)(66476007)(66556008)(66946007)(316002)(64756008)(76116006)(110136005)(7696005)(6506007)(66446008)(52536014)(8676002)(2906002)(5660300002)(8936002)(44832011)(41300700001)(9686003)(33656002)(86362001)(122000001)(38070700009)(83380400001)(38100700002)(55016003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?FUiYLLlARkoEqiwnttI2bzAF0yxZWjlrmk9HWX5l0rIcN2NLhENJOQrVzRv6?= =?us-ascii?Q?5cU9GZqY0VRPhjpwTJmfg92jNzdikYLmc0oI8TeeOnLZFyhrLvX5nkCE8cod?= =?us-ascii?Q?k/QEL/jJ5im0wixrELKqHBnkd8UaqCG9iNmdLKpPmtRfhmNY/2R/3FER29vi?= =?us-ascii?Q?KAtFVVMHpXGzzCez5rIxjqKKkXUoxSCYI/dAx4NTDg+8v5rPdJdiBTwQq1kG?= =?us-ascii?Q?RCz6VHe05f6fdVNjwpK869MuLMHHlVnV+AtV1ea2pAYUQvM50FV7GJHPCDN8?= =?us-ascii?Q?Zgr4XRYHlrU/EZQrApOLAoGj20qE/vDQGaUYQUo1tsNHeBoIzTkSdc6cUf5r?= =?us-ascii?Q?nzbshD3v1uPN/Zr/VXa+nk6RHMO1839XssCPGw753KJHes0C/HcKmEslpSXU?= =?us-ascii?Q?zVIk271kzwDCW4RnYvYye5zOAx0ui76AyFbu3bUDjne7/0X5rgWMiWme3Xn0?= =?us-ascii?Q?bm+KHR3EgLp+wfsDso8NeGhXJgJ662KdFjDMBTQy4Wyh0hqSDSClEt9/ruFt?= =?us-ascii?Q?Vv2Gak9dosmJ0hElyQpnNjYi451nqg4vp2FlX++Mg3b5hCVq2YM3w2g2PPzf?= =?us-ascii?Q?8VzsoXCnrVPKehfQT8pW0FGyoZy19maEnrMh5VLCziSevm2q8AIQmt9TupJb?= =?us-ascii?Q?wu X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 4ZIgpRpn8aILnfBt3syCO83cljBogx0nKySvyvqoCXFJGKfm1e+t07+vTrbFVPoCp46hwP526N16/q6oYM456jVw3jqHz7dLSRCmCtkW/kCuJFsETRzRvpsksF6EUqx5LLCrjoetbvax6y0X7HnWEhZTxb2K999f2mgiJT2beq1HqErKqv6Bl+6zn4ccUwn/nAtU6YUrETOXFYT/Nk6kYPPIQIXpvYFYRbLwWmK2UlzptF0uzhyB0QITCmt4KxBQygj/k4EOcK5APJygymnYa18VosJVYmWuoz+9J/mlzgDWxWY3p4FA3Dpv5W2eNW0mrC8BlnFjNAIISO9l8ElZSQbd1Q5kZt3MbnA8DNtdcniitnVyUU0EBia1ZGwVz32ZXvLp2bkvhMr/6gaOmvO0NJPDF4AJ+jDSdWH5O0ir6hKrZFkVlmHSObFteCkHCs3OcRhIJiwSAamJTFUI8s3FpS1RlYvt01PyOwwWuazweHCBKDoFcO1IPb7j/77hCtIp7Jw/0A9gZlMb7dDD1N9lqhYfuOePnMcguyhoIs/E5IvtLwF3JgzQpmlqhuYFXYOyFluB/NVhWBlsDKlriPI1VoAcsVljpYb4dNtlvGbGeDHynzv29Kz3GGm1eWJmtXS9Nww3X2ZD4nwsYWlRhUMWJRkGKmb8T+zquQgZ3lzRemTdyW/TXFmyqkRmMGnOk5/MewYsPGm87u0ZNun2be8rlFNYvqZVvaRknTuH3qh/kJeTD5 42WzCTvZRi6TeT4cDAFkHSF2yoWNIiTHWdHEQY6w== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a31e78ab-8505-4204-2bd2-08dbe2e43d94 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Nov 2023 18:30:11.6194 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +SZilJotCOLK5NVxthoVNLuYrnqakwcXneUruB6fEhBobIxPhb0WTEhplRMNltWc70+Ervy4eXRT6wxEbM7G+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4568 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-11_15,2023-11-09_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311110160 X-Proofpoint-GUID: 54Y3yubDfB4M9kMnhdRv1RSs_PET0ze8 X-Proofpoint-ORIG-GUID: 54Y3yubDfB4M9kMnhdRv1RSs_PET0ze8 Received-SPF: pass client-ip=205.220.177.32; envelope-from=drew.adams@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-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:312597 Archived-At: There's much (maybe most) of what you say here, Michael, that I agree with - in particular, that the devil is in the details and blanket opinions aren't very helpful. I'll reply mainly to this, saying that I think it makes a lot of sense: > My goal would be like this: >=20 > - keep cl-lib available to it's current extent for end users > - try to get unnecessary cl-lib uses out of the code base > - make useful cl ideas available in the core language >=20 > And: one main problem we have is that cl-lib is more > or less a huge monolithic block (as a `require'able library). Indeed. That's what comes, I think, from its creation as an attempt at emulating most of what is, in effect, a huge, other, language: Common Lisp. (I'm glad that we _have_ such a wide-ranging emulation, but it shouldn't be so monolithic to use, understand, and debug.) > Why not split it up? 100% agreement. Just what split to end up with might be more difficult and more controversial to decide. But worth discussion, at least. And whatever the split in terms of supported functions/features, maybe split off the defs of macros needed for those split-off functions and features. We used to be able to just load `cl-macs.el' at compile time, to get support for some `cl.el' features without loading the latter. Now, `cl-macs' requires `cl-lib anyway. (But see previous paragraph - it might be good to split up the macro defs as well, instead of having all the macros for all of our emulation of CL in one file.) > I don't see why it is necessary that when I > want to use a small useful cl thing that > cl-loop must be made available. Such things > could go to its own library, name it cl-obscure > when you want. Yes. But put `cl-loop' in its own file - it's a monster (essentially another language, on its own). And it's not just `cl-loop' - split `cl-lib' into multiple files, according to some useful criteria (maybe including arcaneness, lack of overlap with other Elisp constructs, etc.). (I can imagine there would be varying opinions about the splitting vs lumping. ;-)) > cl-lib is big. I would like us to try to > factor it when the size is a problem (is it > a practical, objective, or more or less mainly > only a psychological problem btw? I think it's probably a problem in multiple ways. It's a _practical_ problem both (1) for users (who don't want to load everything just to get something) and (2) for Elisp maintenance and evolution (a monolithic monster means discussion and decision are more difficult; the scope quickly becomes/grows too wide for each question that might come up).