From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: "Daniel Colascione" Newsgroups: gmane.emacs.devel Subject: Re: Aliasing EQ to EQL (was: [RFC PATCH] Per-window face support) Date: Sun, 17 Jun 2018 16:49:55 -0700 Message-ID: <1e7cc051e1478a9e8ac77647617a612f.squirrel@dancol.org> References: <5e08587a56ad528599ed5fb259be6335.squirrel@dancol.org> <83muw5vdtr.fsf@gnu.org> <83zhzvyqfy.fsf@gnu.org> <83lgbezs6q.fsf@gnu.org> <6b522145569975d52266e29e8122e86b.squirrel@dancol.org> <50a1e0f98f6cfc5e55fdc2b7df5000b5.squirrel@dancol.org> <49478aa579597ea6557a3976779a234a.squirrel@dancol.org> <1c706afb-47c7-a8a7-3d3c-d4c8ea95cf70@cs.ucla.edu> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1529279283 25601 195.159.176.226 (17 Jun 2018 23:48:03 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 17 Jun 2018 23:48:03 +0000 (UTC) User-Agent: SquirrelMail/1.4.23 [SVN] Cc: emacs-devel@gnu.org To: "Stefan Monnier" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jun 18 01:47:59 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fUhOo-0006VU-4u for ged-emacs-devel@m.gmane.org; Mon, 18 Jun 2018 01:47:58 +0200 Original-Received: from localhost ([::1]:56717 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fUhQv-0002a2-8V for ged-emacs-devel@m.gmane.org; Sun, 17 Jun 2018 19:50:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52000) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fUhQl-0002Zq-Mn for emacs-devel@gnu.org; Sun, 17 Jun 2018 19:50:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fUhQk-00039u-TP for emacs-devel@gnu.org; Sun, 17 Jun 2018 19:49:59 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:48842) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fUhQk-00037o-Ii for emacs-devel@gnu.org; Sun, 17 Jun 2018 19:49:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:To:From:Subject:Date:References:In-Reply-To:Message-ID; bh=ufJpFdr2Ur63Ccs5sTLm9n2tnieSkS/tAqOf06z1HuQ=; b=qd/5ag2mTJsvNDMLftomGkfDhRoHzoaToN5HDVUhPGj1VHeOlgYkKD2FFTF5JxvkqIj+xqklwC4aY+NpnAfqLNzDnJOo0lZw6BY4pQp3IiAwK3CB0ntY8pG0ERn1ESO6ojlTey1Xwtll4GQ/OgQm3TAPgt0GwuoADrQ39iGE2wF7J8NDxuSX1lfbEfvi6IdGriBmob0mxPeUO2djiwPRUEphxo3OXgEbVoUsPI2vqXJo4wrNYYusW+nfH+f2G7FUgfn5+R5x38vhCxzr4TCcAezkUNIuP57Sb6HrSS+/QxRI069rGfdsxfFQBw62SHk3GsaH47NyBGLCt27OXMerpw==; Original-Received: from localhost ([127.0.0.1] helo=dancol.org) by dancol.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fUhQh-0001eZ-Mv; Sun, 17 Jun 2018 16:49:55 -0700 Original-Received: from 127.0.0.1 (SquirrelMail authenticated user dancol) by dancol.org with HTTP; Sun, 17 Jun 2018 16:49:55 -0700 In-Reply-To: X-Priority: 3 (Normal) Importance: Normal X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:226443 Archived-At: >>> Getting rid of `eq' is just lying to programmers about object identity. >> >> I don't see how it would be lying to equate eq and eql for numbers. An >> object's identity is not the same thing as a machine-level address, and >> whether two instances of the same number are eq is an implementation >> detail >> that Lisp programmers should not rely upon. >> >> This doesn't mean that we should equate eq and eql. Perhaps there are >> good >> efficiency reasons to continue to distinguish them. But these would be >> merely pragmatic, not philosophical. > > BTW, if someone is tempted to measure the impact, here's the naive patch > I've been using recently. > > It doesn't try to be clever: other than NILP, all uses of EQ are changed > to use EQL. Clearly, we could improve on that, but I think such > improvements should be "profile-guided". > > In terms of code size it added 100KB (out of a 4MB stripped binary, so > about 0.25%) which is not insignificant, but is a cost I'm willing to > live with. For what? This aliasing has _zero_ real world benefit. I maintain that this is a change we should absolutely not make.