From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: proposal to make null string handling more emacs-y Date: Sat, 28 Apr 2012 13:02:06 -0400 Message-ID: References: <83d36wfcf1.fsf@gnu.org> <834ns7g9r8.fsf@gnu.org> Reply-To: rms@gnu.org NNTP-Posting-Host: plane.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: dough.gmane.org 1335632534 14796 80.91.229.3 (28 Apr 2012 17:02:14 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 28 Apr 2012 17:02:14 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Barzilay Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 28 19:02:13 2012 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 1SOB2D-000857-BO for ged-emacs-devel@m.gmane.org; Sat, 28 Apr 2012 19:02:13 +0200 Original-Received: from localhost ([::1]:44431 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SOB2C-00006Q-MY for ged-emacs-devel@m.gmane.org; Sat, 28 Apr 2012 13:02:12 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:40342) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SOB2A-000060-0V for emacs-devel@gnu.org; Sat, 28 Apr 2012 13:02:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SOB28-0000ym-9p for emacs-devel@gnu.org; Sat, 28 Apr 2012 13:02:09 -0400 Original-Received: from fencepost.gnu.org ([208.118.235.10]:58555) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SOB28-0000yi-6l for emacs-devel@gnu.org; Sat, 28 Apr 2012 13:02:08 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1SOB26-0006Fh-3w; Sat, 28 Apr 2012 13:02:06 -0400 In-reply-to: (message from Eli Barzilay on Sat, 28 Apr 2012 07:13:16 -0400) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.10 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:150121 Archived-At: As a (semi-fake) "Schemer", I can say that it's perfectly fine in practice too. It catches real errors. In analogy to what you wrote a few seconds later -- it catches errors that would otherwise get papered over. The benefit of making () and false the same in Lisp is NOT a matter of suppressing errors. The benefit is that we can simplify programs by knowing that () and false are the same. If these cases happen in Scheme, they are errors. However, in Lisp it is very convenient that the empty list also represents false. Equating () and "" might perhaps give some benefit of simplifying programs. You could try looking for places where you could take advantage of that, to see how much convenience it gives. But this is a different matter from avoiding errors. I tend to think the benefit won't be big, but you can try to show I'm wrong. I am not sure there is any benefit to the fact that () is the same as (intern "nil"). -- Dr Richard Stallman President, Free Software Foundation 51 Franklin St Boston MA 02110 USA www.fsf.org www.gnu.org Skype: No way! That's nonfree (freedom-denying) software. Use Ekiga or an ordinary phone call