From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: What's missing in ELisp that makes people want to use cl-lib? Date: Thu, 16 Nov 2023 01:25:53 +0200 Message-ID: References: <320999cc-6c83-2315-0044-cc0403400af3@gutov.dev> <9ab5d2bd-a648-cae0-a4a7-ae86be10af0f@gutov.dev> <87r0kuqxbf.fsf@gmail.com> <54e115a2-fc36-3056-a030-0dbf32416ddb@gutov.dev> <43f290b0-4119-597b-c89a-0fb4c7db1665@gutov.dev> <1e7fe1ef-af7d-3222-7b9e-b569b3c97ccf@gutov.dev> <22e4cb4d-a8f3-1530-881d-b8c59c5d969b@gutov.dev> <339b58d6-5a44-8393-c2cd-4c935147dde3@gutov.dev> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26405"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Cc: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= , Eli Zaretskii , michael_heerdegen@web.de, emacs-devel@gnu.org To: =?UTF-8?Q?Gerd_M=c3=b6llmann?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 16 00:26:50 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 1r3PHV-0006hV-NQ for ged-emacs-devel@m.gmane-mx.org; Thu, 16 Nov 2023 00:26:50 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r3PGs-00042i-O0; Wed, 15 Nov 2023 18:26:10 -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 1r3PGq-00042U-2X for emacs-devel@gnu.org; Wed, 15 Nov 2023 18:26:08 -0500 Original-Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r3PGk-0007xe-3k; Wed, 15 Nov 2023 18:26:07 -0500 Original-Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id F046F5C0086; Wed, 15 Nov 2023 18:25:58 -0500 (EST) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Wed, 15 Nov 2023 18:25:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm2; t= 1700090758; x=1700177158; bh=nuKOZf2/pLxRjXizDfVQFs0keyo74A4HGm6 wQknZzAw=; b=ALK0IRpa06GveEPZtM6c9IRKVMQ6axjSYooI9CqdLDFppygaivz tLZKAqGMGASxKY9WxZ7nlOp3P5YoHNj27eXk0cqgwUJb4m6UuVCDyYbRWajXctdz gp5LccIsgdu0onuU6paJbiW6em3BmrntaHsQfeyMOLjuW8SnXafCvPM56CAVA2Aq smc2b371KqEpdyY4Q+zzpu0SXcKQKSYxHpYTVEPXTkUJ0WfLs7Zfk6L9ydf6D1xq QulDLbmFiVwMNgl2xdj9ihpdd/nClDjCABINDdRQIPuDjrApgvG2fW6IHyeiy9kT qE2e1HO9PZHaFHqL5MuPSBwpGyJ8KkNe+bw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1700090758; x=1700177158; bh=nuKOZf2/pLxRjXizDfVQFs0keyo74A4HGm6 wQknZzAw=; b=mEvGQM/NQFS45beiAh2onVe4AzVFAL9L4VBMyTj8fRTA857fiXk 0ChtWzcds9Lxw//UepQswEL/m7g8xlCLHL8JDSEPHQzDckrQLnONw53DV3V3WJ6H OhBgBTntDZ1/bYfV71gMJc0Mg6pr86Yn9FdlTSQJy6+M8lfCPbZ2BABJHkPd43Wn fs44Rp4J3epCRjcJy3H2cG+f8fAg/vMRygRcxqr4unY8S2jiO8YRO6TU/ef66ng7 UK97yNNd35HR/9Vi9qmOkKZt06uoVRE/bNJYgD4PBPz4QQXQZhfXBHbug5eBH2sO ue95m+jV4O4IrnhhydqbYTVVGDgxH3hCUgQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudefjedguddtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhephfffheeljeffgeffueeghfekkedtfffgheejvdegjeettdduheeufffggfef jeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 15 Nov 2023 18:25:57 -0500 (EST) Content-Language: en-US In-Reply-To: Received-SPF: pass client-ip=66.111.4.25; envelope-from=dmitry@gutov.dev; helo=out1-smtp.messagingengine.com X-Spam_score_int: -46 X-Spam_score: -4.7 X-Spam_bar: ---- X-Spam_report: (-4.7 / 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, NICE_REPLY_A=-1.895, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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:312773 Archived-At: On 15/11/2023 21:56, Gerd Möllmann wrote: > In the case that there is only 1 method, Emacs seems to arrange for that > method function to be used as function definition of the generic > function (I'm a bit simplifying here). So it avoids both using a > discrimating functions, and an effective method function. That makes a lot of sense indeed: since the function slot can be modified directly (and wouldn't break any inline caches, for example), why not do that when there's only one definition. The only downside is that the performance characteristics of callers can change unexpectedly as more definitions arrive (which the authors of the caller code might not have tested for).