From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eric Abrahamsen Newsgroups: gmane.emacs.help Subject: Re: Generic functions: Specializers like `or' or `memq'? Date: Wed, 03 Nov 2021 14:32:27 -0700 Message-ID: <87a6ilorh0.fsf@ericabrahamsen.net> References: <87r1bxcg6g.fsf@web.de> <87y265aymg.fsf@posteo.net> <87ilx9hrn6.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29374"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:9qjZHZ4aKsqUD3RBQ7eQ/bvpV88= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Nov 03 22:43:59 2021 Return-path: Envelope-to: geh-help-gnu-emacs@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 1miO35-0007RU-MJ for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 03 Nov 2021 22:43:59 +0100 Original-Received: from localhost ([::1]:57534 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1miO34-0002yQ-5a for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 03 Nov 2021 17:43:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46260) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1miNs7-00017M-V7 for help-gnu-emacs@gnu.org; Wed, 03 Nov 2021 17:32:40 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:37798) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1miNs6-00027s-Dc for help-gnu-emacs@gnu.org; Wed, 03 Nov 2021 17:32:39 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1miNs3-0003bW-Ig for help-gnu-emacs@gnu.org; Wed, 03 Nov 2021 22:32:35 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:134343 Archived-At: Michael Heerdegen writes: > Philip Kaludercic writes: > >> I haven't tried it myself, but it seems like you would have to use >> cl-generic-generalizers (see cl-generic.el) to do so. > > Yes, it should be doable. I find it a bit suspicious that this is not > already available. My understanding is that these more computationally-intensive generalizers have the potential to seriously slow down method funcalls, and so we're sort of gently discouraged from doing that. Obviously once you've got this tool you're bound to try to use it everywhere, but I think in general it's supposed to work better to move tightly-focused generalization into a `cond' inside the method body, or what have you. Is anyone else's brain incapable of maintaining the distinction between "specializer" and "generalizer"? I cannot remember which is which, or exactly how they differ, and its one of the major obstacles to me actually reading and understanding cl-generic.el. Eric