From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: master 71783e9: Add the string-numeric-lessp function Date: Mon, 7 Mar 2016 14:03:53 -0800 (PST) Message-ID: <2c4c309f-e55e-4e14-9c0f-cc5c30e4bf9c@default> References: <20160221043348.25201.81719@vcs.savannah.gnu.org> <87twl2fzaw.fsf@gnus.org> <56CA2C66.7040306@cs.ucla.edu> <87povpzc9c.fsf@gnus.org> <56CA8578.2030004@cs.ucla.edu> <87twl1xul1.fsf@gnus.org> <56CA8BB8.6040908@cs.ucla.edu> <8737s3jfrr.fsf@mail.linkov.net> <5ea313cd-bc7f-4c18-abe3-69bcc4838cbf@default> <87egbmf0s3.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1457388289 29631 80.91.229.3 (7 Mar 2016 22:04:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 7 Mar 2016 22:04:49 +0000 (UTC) Cc: Lars Ingebrigtsen , Paul Eggert , emacs-devel@gnu.org, Juri Linkov To: =?iso-8859-1?B?Sm9oYW4gQm9ja2flcmQ=?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 07 23:04:37 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ad3GS-00083N-Qy for ged-emacs-devel@m.gmane.org; Mon, 07 Mar 2016 23:04:32 +0100 Original-Received: from localhost ([::1]:58905 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ad3GS-00028E-91 for ged-emacs-devel@m.gmane.org; Mon, 07 Mar 2016 17:04:32 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41387) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ad3GC-000283-Kt for emacs-devel@gnu.org; Mon, 07 Mar 2016 17:04:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ad3G7-0006Af-KW for emacs-devel@gnu.org; Mon, 07 Mar 2016 17:04:16 -0500 Original-Received: from userp1040.oracle.com ([156.151.31.81]:48150) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ad3G7-0006Aa-D7; Mon, 07 Mar 2016 17:04:11 -0500 Original-Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id u27M3vvm032360 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 7 Mar 2016 22:03:58 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id u27M3vnE019224 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Mon, 7 Mar 2016 22:03:57 GMT Original-Received: from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id u27M3snE009764; Mon, 7 Mar 2016 22:03:55 GMT In-Reply-To: <87egbmf0s3.fsf@gnu.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] X-Source-IP: aserv0021.oracle.com [141.146.126.233] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 156.151.31.81 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:201091 Archived-At: > > Or else the rule should be clarified to incorporate > > `-lessp' exceptions, so they are within, and not outside, > > the rule. >=20 > I think the rule in the Emacs Lisp manual is too simplistic. In > practice > we seem to follow something closer to this rule: >=20 >=20 > By convention, the names of predicates usually end in the letter > p (which stands for ``predicate''). Common Lisp uses a uniform > convention in hyphenating names of predicates. If the name of the > predicate is formed by adding a p to an existing name, such as > the name of a data type, a hyphen is placed before the final p if > and only if there is a hyphen in the existing name. For example, > number begets numberp but standard-char begets standard-char-p. > On the other hand, if the name of a predicate is formed by adding > a prefixing qualifier to the front of an existing predicate name, > the two names are joined with a hyphen and the presence or absence > of a hyphen before the final p is not changed. For example, the=20 > predicate string-lessp has no hyphen before the p because it is > the string version of lessp (a MacLisp function that has been > renamed < in Common Lisp). The name string-less-p would > incorrectly imply that it is a predicate that tests for a kind of > object called a string-less, and the name stringlessp would > connote a predicate that tests whether something has no strings > (is ``stringless'')! >=20 > from CLTL, > https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node69.html FWIW, that sounds reasonable to me. It would be harder for the casual developer to pay attention to (need to distinguish the two cases, recognizing whether it is about prefixing an existing predicate). But given enough experienced eyes to catch an oversight, it's a good idea, IMO. If we go that route, let's make this change explicit, and not just leave the old "simplistic" rule in place in the doc.