From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: What's missing in ELisp that makes people want to use cl-lib? Date: Fri, 10 Nov 2023 14:18:18 +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> <87y1f6s3eb.fsf@yahoo.com> <878r75sqby.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10543"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Alan Mackenzie , Dmitry Gutov , =?UTF-8?B?QmrDtnJuIEJpZGFy?= , emacs-devel To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Nov 10 15:19:30 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 1r1SM5-0002cP-PA for ged-emacs-devel@m.gmane-mx.org; Fri, 10 Nov 2023 15:19:29 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r1SLF-0003mC-Sm; Fri, 10 Nov 2023 09:18:37 -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 1r1SLD-0003lO-DO for emacs-devel@gnu.org; Fri, 10 Nov 2023 09:18:36 -0500 Original-Received: from mail-lf1-x135.google.com ([2a00:1450:4864:20::135]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r1SLB-0001mt-OJ for emacs-devel@gnu.org; Fri, 10 Nov 2023 09:18:35 -0500 Original-Received: by mail-lf1-x135.google.com with SMTP id 2adb3069b0e04-507973f3b65so2895222e87.3 for ; Fri, 10 Nov 2023 06:18:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699625912; x=1700230712; darn=gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=r36bRylu+0+7bB57Lr09JzjKOmsVpoV9X7lc8RGrCL8=; b=SXphbMyPhRpw0+8YDYJhSADkxF3JKgEvUsPrU8QSc2MUX9B2XV/qddwfio4uYmYYK5 BG5sBDDc20SkbzEkgwRCcVVuRbyv62UeLkx3lRNrZQBn8a4LH6B+283N9ie0131+FUlZ 74Z45NHy6lChUcVua6/C7076r9JiTT6SBExq4rNIl0obbByxr2EZ0VlApLaJ/JVDE2U2 2dlg5UN0Up1kJTnMTvCOd46Mmd8LxoEckWH4F5yLVskqf2NWY9SZM3ypsLT+ppCImN8t pZ6a9XIYWC7fA0WYsQD9/xuAxINTZQCbaQIRxbxNTJoGi+jEJ41bUvdhXd0vRhnfbnp6 MK9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699625912; x=1700230712; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r36bRylu+0+7bB57Lr09JzjKOmsVpoV9X7lc8RGrCL8=; b=H3ug5LTifrwLHls/ZfnO9VYZQk67NDBJT7PNLmY2naClLgMVRQC6eazGm6o2z8BUTS Wmo4xGaaOGo2XAFxwlRfYL8sv47U5tgY084uKdSarAOTRGp2LDE3gRwjUsdkHuY/7K3g 8g7R8N57I7lFYY5TXWbEbXD5IqrhJtGrC2Q8rO4HhfaQ3MA4PYcBAKdFXUPiEIw9ouRX ZMP1nFUrl0OlqnHcWEL9jb/OdJEyCDOm24mdz5XD1ild52bOcvzneVYOa8vBobH3Y61I Al1vx7KNd7l3RdPVTuj+InOZ+XikQoUEmIa8DTcWjt7BHyA82ucYdm9w38/WTcLTMCHO odZw== X-Gm-Message-State: AOJu0Yx9/yOreFQ4ZyWMwcla7/RTLTZnwGu1MJlnY4SQC7/5JLhfXUPB ybV6REiYhksN+3J1sl9DxtI7fRWGpjTqIFhe/7Y= X-Google-Smtp-Source: AGHT+IEli4fdNHJo28OOk60c3/m4CkPWpnnmoJOyWXwEQriBEWazbBFhQMkOY9LTAF0otRo9bLWGkdAkAhCzOXBprEM= X-Received: by 2002:a05:6512:2389:b0:4f3:9136:9cd0 with SMTP id c9-20020a056512238900b004f391369cd0mr5676664lfv.44.1699625911598; Fri, 10 Nov 2023 06:18:31 -0800 (PST) In-Reply-To: <878r75sqby.fsf@yahoo.com> Received-SPF: pass client-ip=2a00:1450:4864:20::135; envelope-from=joaotavora@gmail.com; helo=mail-lf1-x135.google.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, 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:312491 Archived-At: On Fri, Nov 10, 2023 at 1:14=E2=80=AFPM Po Lu wrote: > needless to say, never seen the code before in their lives, and will not > so much as bat an eyelid before striking down code they cannot easily > understand. Wow, sounds like a fantastic healthy work environment. Do people ever leave the company? Like, alive? > > Many examples of Emacs Lisp functions take them. > > Like? Which list manipulation functions do? > Contrast cl-member to member. You didn't say "list manipulation function" . You wrote "No Emacs built-in takes them". That's false. Take make-hash-table. Oh noes, looks just like CL. Guess you're going to hand-roll hash tables now, right? :-) Take make-process or json-serialize. There are more. Keyword arguments are in other Non-lisp languages too, as you probably know, they're called named parameters sometimes. Heck C++ has been pining for them for so long it's sad. > > All code is bad. > > With that outlook, there's not much of a purpose in writing any code for > Emacs, is there? There is, because bad as it is, code gets jobs done that humans can't do. > But the Emacs Lisp compiler doesn't inline functions, does it? No, but you do, in actual source code! That was my point! You have these fine abstractions to common operations like intersecting sets, finding indices, and so much more, and you prefer to handroll your expanded versions each time instead of going through a function of an established library. Very rarely, IME, are there for doing this manual inlining even more rarely in Elisp which has a compiler-macro mechanism. Jo=C3=A3o