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?R8O2a3R1xJ8=?= Kayaalp Newsgroups: gmane.emacs.devel Subject: Re: dash.el [was: Re: Imports / inclusion of s.el into Emacs] Date: Tue, 19 May 2020 17:26:57 +0300 Message-ID: <87pnb0roem.fsf@gkayaalp.com> References: <0c88192c-3c33-46ed-95cb-b4c6928016e3@default> <873686bbl5.fsf@russet.org.uk> <87d07963ec.fsf@fastmail.fm> <873685dq73.fsf@russet.org.uk> <87wo5gc0kb.fsf@russet.org.uk> <87lflv5yzx.fsf@bernoul.li> <433E8CA0-CC87-4877-B9D4-D348531B73F8@medranocalvo.com> <87lflsyfwu.fsf@russet.org.uk> <87r1vgsu7c.fsf@gkayaalp.com> 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="80735"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 0.9.18; emacs 28.0.50 Cc: jonas@bernoul.li, Richard Stallman , joostkremers@fastmail.fm, adrian@medranocalvo.com, emacs-devel@gnu.org, ohwoeowho@gmail.com, =?utf-8?B?R8O2a3R1xJ8=?= Kayaalp , Phillip Lord To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue May 19 16:27:44 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 1jb3Dc-000Kp2-1I for ged-emacs-devel@m.gmane-mx.org; Tue, 19 May 2020 16:27:44 +0200 Original-Received: from localhost ([::1]:36280 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jb3Db-0004G0-2R for ged-emacs-devel@m.gmane-mx.org; Tue, 19 May 2020 10:27:43 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40632) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jb3Cz-000359-KQ for emacs-devel@gnu.org; Tue, 19 May 2020 10:27:05 -0400 Original-Received: from relay1-d.mail.gandi.net ([217.70.183.193]:35811) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jb3Cy-000525-FK; Tue, 19 May 2020 10:27:05 -0400 X-Originating-IP: 159.146.10.253 Original-Received: from localhost (unknown [159.146.10.253]) (Authenticated sender: self@gkayaalp.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 970B4240006; Tue, 19 May 2020 14:26:59 +0000 (UTC) In-reply-to: Received-SPF: none client-ip=217.70.183.193; envelope-from=self@gkayaalp.com; helo=relay1-d.mail.gandi.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/19 08:50:42 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, FROM_EXCESS_BASE64=0.979, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=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:250928 Archived-At: On 2020-05-19 06:34 +03, Stefan Monnier wrote: >> I don=E2=80=99t think it=E2=80=99s that much of additional complexity gi= ven many >> popular programming languages have multiple ways to define one off >> closures: Python (inline def vs. lambda), JavaScript, Ruby, even C++ >> these days AFAIU. > > How many non-Python programmers have to touch such Python code? > [ Repeat that same question for your other examples. ] That=E2=80=99s fair. > Anonymous functions are part of the subset of Elisp that random Emacs > users are exposed to in normal .emacs settings. Any change that makes > this subset more complex is significantly more harmful than changes to > other parts of Elisp, so it needs to come with bigger upsides to pay > for itself. One problem with this argument is that random, non-programming users are only exposed to those things in their .emacs files which they put in there in the first place. So if there is some syntax X in there, they either put it in there willingly, i.e. they knew what it does (to an extent, at least), or they copied it from somewhere where the context and contextual help would make it fairly easy to understand what it is going on. IMHO, we shouldn=E2=80=99t be that protective of non-programming users. Af= ter all, almost all concepts they=E2=80=99ll have to work with will be novel to them, so I doubt a few shorthands would make that big of a difference. I=E2=80=99d even say Elisp is a nicer environment to learn about the more advanced concepts of programming because the unusual opportunities of online inspection, introspection, and documentation Emacs provides. Things like control structures or OOP are black boxes in even Ruby or Python, and if you needed/wanted to look under the hood, you=E2=80=99d need= to fetch the source code (a non-trivial task) and study it to find what=E2=80= =99s where, whereas in Emacs if you want to see how =E2=80=98if=E2=80=99 is impl= emented all you do is C-h f if RET & hit a link, and you have the C code before your eyes. -gk.