From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: thunk.el: Document that thunk-force == funcall? Date: Tue, 17 Nov 2020 09:32:07 -0800 (PST) Message-ID: References: <871rgs3tdx.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27097"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Nicolas Petton , Stefan Monnier To: Michael Heerdegen , Emacs Development Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Nov 17 18:33:18 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 1kf4qz-0006vW-AA for ged-emacs-devel@m.gmane-mx.org; Tue, 17 Nov 2020 18:33:17 +0100 Original-Received: from localhost ([::1]:45872 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kf4qy-0000J3-Ck for ged-emacs-devel@m.gmane-mx.org; Tue, 17 Nov 2020 12:33:16 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58030) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kf4q3-0008HP-27 for emacs-devel@gnu.org; Tue, 17 Nov 2020 12:32:19 -0500 Original-Received: from aserp2120.oracle.com ([141.146.126.78]:33078) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kf4q1-0004ju-D9 for emacs-devel@gnu.org; Tue, 17 Nov 2020 12:32:18 -0500 Original-Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0AHHUA2X056331; Tue, 17 Nov 2020 17:32:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=8JVNiiW1p1IPM141djkkOFt4LNJTdlOFcqVzOqDD9Ww=; b=PTHXE5xRkDJUl5hsJ0DC0cBprXjNojZezv5CrZ+c9ygErFXnV7j+HLXYHBnfps/QuSL0 OeU75z7uQZn3icfwsZYU8+zpdlLBWS/xqfAlwjccnU2IMxVknDV7PBlLjEWS9aY4qAXk GrFbfoY0HLH1xw/hrloQzZ1YXvaUrQlNuqLCUK10R3ngcDpv+I4OHeMZ+Z/6ljVpykj6 CgX8ss1U9NlDbxYm6n3alpKv5NXBpRlevnXlkoXX/JV59btg39EEu/0JDYc1vYCUN+I5 BwZEC6Qgyh/STHFxy82QKlGX3NaptcCSjIZTJ/metltVa8mJlqZ4QzM08i5OftEj061M 6w== Original-Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2120.oracle.com with ESMTP id 34t76kuumr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 17 Nov 2020 17:32:14 +0000 Original-Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0AHHVJWi005694; Tue, 17 Nov 2020 17:32:14 GMT Original-Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3020.oracle.com with ESMTP id 34umcyg6eq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Nov 2020 17:32:13 +0000 Original-Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 0AHHW86v001807; Tue, 17 Nov 2020 17:32:09 GMT In-Reply-To: <871rgs3tdx.fsf@web.de> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5071.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9808 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 phishscore=0 spamscore=0 bulkscore=0 mlxlogscore=811 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011170126 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9808 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 adultscore=0 priorityscore=1501 bulkscore=0 clxscore=1011 mlxlogscore=825 malwarescore=0 mlxscore=0 spamscore=0 lowpriorityscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011170126 Received-SPF: pass client-ip=141.146.126.78; envelope-from=drew.adams@oracle.com; helo=aserp2120.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/17 12:29:17 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no 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:259296 Archived-At: > `thunk-force' is equivalent to `funcall' - thunks are functions. I > wonder if we could/should officially document that fact? >=20 > The background: because thunks are functions, one is allowed (and it is > useful) to directly pass them to higher order functions e.g. as a test > predicate, or bind them using `cl-flet', or `cl-letf' to a > `symbol-function' place. Currently, the official solution would > require > to use a lambda wrapper. >=20 > I have encountered this requirement several times (and using `thunk- > let' was not always the solution) - thus my question. FWIW, that makes sense to me. Why not tell users this? It's fine to have an abstraction, but in Lisp it can help to know the implementation, especially in a straightforward case like this.