From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Philippe Vaucher Newsgroups: gmane.emacs.devel Subject: Re: Imports / inclusion of s.el into Emacs Date: Fri, 1 May 2020 19:36:37 +0200 Message-ID: References: <266155d4-f9c0-8ed3-8df5-32feea171076@yandex.ru> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000001d7bbf05a499a1b6" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="126407"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Emacs developers To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri May 01 19:40:05 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 1jUZdt-000Wli-3V for ged-emacs-devel@m.gmane-mx.org; Fri, 01 May 2020 19:40:05 +0200 Original-Received: from localhost ([::1]:44420 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jUZds-0002nm-5o for ged-emacs-devel@m.gmane-mx.org; Fri, 01 May 2020 13:40:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40638) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jUZcg-0001i5-Oo for emacs-devel@gnu.org; Fri, 01 May 2020 13:39:02 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jUZaz-0003rM-SR for emacs-devel@gnu.org; Fri, 01 May 2020 13:38:50 -0400 Original-Received: from mail-lj1-x233.google.com ([2a00:1450:4864:20::233]:37384) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jUZaz-0003m4-Eg for emacs-devel@gnu.org; Fri, 01 May 2020 13:37:05 -0400 Original-Received: by mail-lj1-x233.google.com with SMTP id b2so3286419ljp.4 for ; Fri, 01 May 2020 10:37:05 -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; bh=qy88TrxDK9QFOOnUOl9F5O9dTafL20OJpcf/s55l5e0=; b=X2/Q+ML28+InUnR8d1Qda9vtd5g7ovk6a91hdNvbDRrnUpLU+mQShUUVmiCw2OLHYM GHTqHzhc1J/DX1I12BlpEkrf26EoJ/Knia/1764sRrvVR5M2SFBEwA7nCjTxqU4R/T8e SO566uy69QzxyQO4h4s9ksH1BhMsKtOwBnuYcFEr+v3/kZRyZYQwH7x/879Tut1/PnGQ KbyZfWwZLMw5wJUGoRrlqmxgr/0uu99gsAmYsGts3VXRR32Ui9U85yqbT7+DOIww2Ymm sUR2lSTxY4Hf8BPLsbAjrpp0P56SS0dfTdhyqTK0yW0U7MrKIzmy6eh1rIXtfpTYhQLX uQvQ== 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; bh=qy88TrxDK9QFOOnUOl9F5O9dTafL20OJpcf/s55l5e0=; b=b1GyQr9A17M4OOJF22+pH3BTFDIt1TKwBgX0l90GisiTDObLCiTL3bnt0G1sJrvt+D oFjCb0sgLkt5mR7jibt3iRuAXiFJh/Y1u2PebiZ9oHZxqNELqgXX+x6EVZW/0lCJB8t7 9BzNhvjQ4tQubkwRG+amsMvJIkN64w+uS4+H1SqeeQ5FkT4Kcah7aUcZJ1F7T3IgT8oL 1fecUxSsdIZonzPICsq71FSUUdbj/DZTR3t10XInUdUVw9BY7SjcbPe+y7JwC86VyUzU taCfeGdhh8tdba6B+s3J1pxq74aNavIVjfMVNLdG7uw7v7hnjGAHi2A6HN78raAe2Y8l rc7Q== X-Gm-Message-State: AGi0PuZuG9tskygc9R26OmwfYYhULaNa0nv5P+EiWMbg9M0kNkw0JnG0 b5vJhYouVFZvawAuV9sb77BH4Js3fWnFcuVQcgs= X-Google-Smtp-Source: APiQypIqq2LZXGzK6xZ7zeWRumWfijypcyidgazqR+2X5k5YOG+5Qx3MZ/RxlwK4G6+r0yUYeKIY4LRXmWXDtDmk3aI= X-Received: by 2002:a2e:8999:: with SMTP id c25mr3082391lji.73.1588354623567; Fri, 01 May 2020 10:37:03 -0700 (PDT) In-Reply-To: <266155d4-f9c0-8ed3-8df5-32feea171076@yandex.ru> Received-SPF: pass client-ip=2a00:1450:4864:20::233; envelope-from=philippe.vaucher@gmail.com; helo=mail-lj1-x233.google.com X-detected-operating-system: by eggs.gnu.org: Error: [-] PROGRAM ABORT : Malformed IPv6 address (bad octet value). Location : parse_addr6(), p0f-client.c:67 X-Received-From: 2a00:1450:4864:20::233 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:248321 Archived-At: --0000000000001d7bbf05a499a1b6 Content-Type: text/plain; charset="UTF-8" > > As far as s.el goes, I suppose it might be a good thing to add it to > ELPA for those who like it. > > I'm not completely sold on its contents for the core, however: a lot of > it looks like a compatibility layer for Clojure's familiarity's sake, > with very thin wrappers (which basically just add the cost of function > invocation). > Okay, I picked s.el because I felt it was one of the low hanging fruits, but maybe I'd have picked something else. Now I started let's finish this one and then I'll move to `file-*`. > 1. s-prepend/s-append: trivially replaced by 'concat'. > Okay, that falls in the part 2 of my plan (decide which functions to import). I note that you are against such helpers, do people generally have the same opinion as you on this topic around here? > 2. s-trim: string-trim is already in subr-x. > Well as I said we would not import what already exists int he `string-` namespace 3. s-split: basically delegates to split-string, but wraps it in > save-match-data (which is generally against our guidelines for its use). > That falls in part 1 of my plan (alias existing misnamespaced functions), so we'd simply alias split-string as string-split. Now this point raises an interesting question about save-match-data, are these guidelines available somewhere? Thanks, Philippe --0000000000001d7bbf05a499a1b6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
As far as s.el goes, I suppose it might be a good thing = to add it to=C2=A0
ELPA for those who like it.

I'm not completely sold on its contents for the core, however: a lot of=
it looks like a compatibility layer for Clojure's familiarity's sak= e,
with very thin wrappers (which basically just add the cost of function
invocation).

Okay, I picked s.el becaus= e I felt it was one of the low hanging fruits, but maybe I'd have picke= d something else. Now I started let's finish this one and then I'll= move to `file-*`.
=C2=A0
1. s-prepend/s-append: trivially replaced by 'concat= 9;.

Okay, that falls in the part 2 of m= y plan (decide which functions to import). I note that you are against such= helpers, do people generally have the same opinion as you on this topic ar= ound here?

=C2=A0
2. s-trim: string-trim is already in subr-x.

Well as I said we would not import what alread= y exists int he=C2=A0`string-` namespace
=C2=A0

3. s-split: basically = delegates to split-string, but wraps it in
save-match-data (which is generally against our guidelines for its use).

That falls in part 1 of my plan (alias ex= isting misnamespaced=C2=A0functions), so we'd simply alias split-string= as string-split.

Now this point raises an interes= ting question about save-match-data, are these guidelines available somewhe= re?

Thanks,
Philippe=C2=A0
--0000000000001d7bbf05a499a1b6--