From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg via Users list for the GNU Emacs text editor Newsgroups: gmane.emacs.help Subject: dlet/let/slet (was: Re: [External] : How to create a higher order function?) Date: Tue, 05 Oct 2021 11:53:12 +0200 Message-ID: <87r1cz23xz.fsf_-_@zoho.eu> References: <87k0jawotx.fsf@mbork.pl> <87czoyfipj.fsf@mbork.pl> <87k0j6gvpd.fsf@zoho.eu> <871r5dhp9q.fsf@zoho.eu> <87tui99n63.fsf@mbork.pl> <87mto0usgs.fsf@zoho.eu> <87h7e69vng.fsf@mbork.pl> <87fstpo4sv.fsf@zoho.eu> <87y27g8vwb.fsf@mbork.pl> <87czosqa3q.fsf@zoho.eu> <875yuc7x1b.fsf@mbork.pl> <871r4z3oqy.fsf@zoho.eu> Reply-To: Emanuel Berg Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34468"; 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:ReLw5Qsazhc99cJDzFk055RVNQg= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Tue Oct 05 11:55:37 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 1mXhAf-0008l3-Qc for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 05 Oct 2021 11:55:37 +0200 Original-Received: from localhost ([::1]:37188 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mXhAe-0006JP-MG for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 05 Oct 2021 05:55:36 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43512) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mXh8Y-0004a4-65 for help-gnu-emacs@gnu.org; Tue, 05 Oct 2021 05:53:26 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:36374) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mXh8W-0006BW-GO for help-gnu-emacs@gnu.org; Tue, 05 Oct 2021 05:53:25 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mXh8S-0005fe-4c for help-gnu-emacs@gnu.org; Tue, 05 Oct 2021 11:53:20 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never 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.23 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:133560 Archived-At: >> You mean you could use the same variable sometimes with >> `slet', sometimes with `dlet'? > > Yes, with `dlet' and `let' it would/could be that way - with > "slet" it would _always_ be static/lexical so then it would > be "same variable name" rather ... That's it, that's what we should have! dlet - special/dynamic, always let - special/dynamic on existing such variables, otherwise static/lexical slet - static/lexical, always So dlet would be the same as `let' today if `lexical-binding' is nil, which is the default. And let would be the same as `let' today if `lexical-binding' is t, which is recommended for everyday Elisp use. Then there would be no need for ;;; -*- lexical-binding: t -*- and no confusing alternating behavior for `let' and if you wanted to explain/learn about dlet, let, and slet one would just go to their individual docstrings, i.e. no need for CS theory with respect to scoping or anything, they would just be three Lisp functions (or special forms) among all other ... -- underground experts united https://dataswamp.org/~incal