From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: Imports / inclusion of s.el into Emacs Date: Sun, 3 May 2020 12:56:26 +0100 Message-ID: References: <87ftchy0go.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="125744"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Emacs developers , Lars Ingebrigtsen , Richard Stallman , Stefan Monnier To: Stefan Kangas Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun May 03 13:57:13 2020 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 1jVDFB-000Wa6-A4 for ged-emacs-devel@m.gmane-mx.org; Sun, 03 May 2020 13:57:13 +0200 Original-Received: from localhost ([::1]:49022 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVDFA-0000Bd-Ba for ged-emacs-devel@m.gmane-mx.org; Sun, 03 May 2020 07:57:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49522) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVDEf-0008E1-HD for emacs-devel@gnu.org; Sun, 03 May 2020 07:56:41 -0400 Original-Received: from mail-il1-x144.google.com ([2607:f8b0:4864:20::144]:43409) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jVDEd-0005OQ-N5; Sun, 03 May 2020 07:56:41 -0400 Original-Received: by mail-il1-x144.google.com with SMTP id m5so8640449ilj.10; Sun, 03 May 2020 04:56:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=oMLKqo1iUrVD64uCVWn9G3n7QQ1XGRp7HTgRSnZNUwQ=; b=qhkA38XxwNEg5owFRi2SS2MrEKEbIf4cnxKmOEMg05akTpLLVT7V4vu89T8IXaMZAf DoerRIX82Fqq94IuSXXuQGyrIxO57AtJrqWNvSNKcaTVQz2vPzhM37wrGJFIWDLfn/2c Bru/3g8kq6nNxrz9C00qRGXOHGbFaoT+Z+xHonuIuIvdnswXY7aRnUyafACPuf6ofk1R DWdgcdJ6LdOIri6M6GeKtBTGSHANS+7G8pmEOfn22uSFSkv9NrSyidLW8s2X/W6itRnk j7PpOy8KcLfehpV/qQkZZW+QjPHzajXGguALXvNVjSRgVX/7t3koYSawgp1v3hC70CsJ Imog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=oMLKqo1iUrVD64uCVWn9G3n7QQ1XGRp7HTgRSnZNUwQ=; b=lAqgazrChXBAp/ZlDLHBmEx53AZ0cOHQTZ8bnriHNeCglj33KJv4EzRMfg8AVrNSpU kC/xedzJdRiLUTGNCfD3aS2cbahqJsBxKrWUNWeSF9RX+Hd4jOetf5APYMILjUMcWXyQ 7px2zRG0M3l0rRilU9eBSS/Bj5WdXdHaFctzwZJ+1g7nsngQ2x3zv9306GXlFGYMRflT G5ZcQrIxzlRafqCK84ZCvUsa69cI6FxkyATRCmX20NEGZTNrRmdbcv1gOFbuYZ96AgER iorz+IAbFYrLAbnUTrvWu+dX1U4rDpXZIdP4yJ8BGIdwMy9f6dLfcOS1suxh41/fJCtJ 5OSw== X-Gm-Message-State: AGi0PuY6ULRpjy+GLU62iklRjpavRP8+C0oZqv4p1ha2vk/wKjo13hhC VImOJLBlH++QhhNEM7vJlz1yBu7MIM7K5x9d/W0= X-Google-Smtp-Source: APiQypJexwsxL8yHD4KvMn6YB1cgdSnP9m0DCch7xsLjhIpMpHTo/MTkm+OR/eUgML0tX3xo82cnr8DNfNZvkLFSmLk= X-Received: by 2002:a05:6e02:f45:: with SMTP id y5mr11691313ilj.199.1588506997996; Sun, 03 May 2020 04:56:37 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::144; envelope-from=joaotavora@gmail.com; helo=mail-il1-x144.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.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, FROM_EXCESS_BASE64=0.979, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.devel:248676 Archived-At: On Sun, May 3, 2020 at 11:55 AM Stefan Kangas wrote: > Philippe Vaucher writes: > > > Aliases: > > > > split-string aliased as string-split > > This is a better name. FWIW, I think the old one should be deprecated to= o. People coming from Common Lisp and not Clojure will find 'split-string' more appropriate. Now really, I don't think this "prefix with the type name" makes any sense. When I learned Lisp coming from Java, it bothered me, yes. But I got over it, quickly. Functions in lisp are generic, or at least duck-typed. If in Haskell or Ruby the name of the operated-on type always matches the namespace qualifier, good for them I guess. I know 0 Haskell, but last I checked those Ruby functions aren't top-level functions, they're methods on a String object. So that just reflects a different way to look at OO. I often use it when in those languages, but in Lisp there's a different take to it. So the namespace qualifier doesn't necessarily bear any direct relation to type of the object being operated on [1]. Sometimes it does, yes, but it's accidental. Shoving this foreign convention down Lisp's throat is cruel. And ignorant, sorry. (ignorance isn't a defect, it's a default). The point of doing it, I suppose, is that = it would bring in lots of newcomers onboard. But shouldn't we rather be welcoming them by efficiently showing them them the joys of Javalessness instead? Do we need a manual with pretty pictures and fancy fonts? Let's do it then. OK, ranting over. In CL-land, there is the very good split-sequence[3], which is a generalized split-string (and compatible with the "split the empty string" case). I propose we get that instead. If we're lucky, that CL code is directly translatable to Elisp (seems to be from a cursory inspection). Yeah call it seq-split if you really must drink the kool-aid. [1]: The lack of a package system in Elisp (not package.el, mind you that's a different thing) adds to the confusion, but it's really the same. [2]: http://quickdocs.org/split-sequence/ Jo=C3=A3o