From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Miles Bader Newsgroups: gmane.emacs.devel Subject: Re: mh-e 6.2 imminent Date: 25 Oct 2002 14:50:00 +0900 Sender: emacs-devel-admin@gnu.org Message-ID: References: <200210210726.g9L7QI1l014171@gbr.newt.com> <200210231948.g9NJmdBG015635@gbr.newt.com> <200210240725.g9O7PKI11467@rum.cs.yale.edu> Reply-To: Miles Bader NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1035525204 30844 80.91.224.249 (25 Oct 2002 05:53:24 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 25 Oct 2002 05:53:24 +0000 (UTC) Cc: monnier+gnu/emacs@rum.cs.yale.edu, wohler@newt.com, emacs-devel@gnu.org, mh-e-devel@lists.sourceforge.net Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 184xPN-000813-00 for ; Fri, 25 Oct 2002 07:53:21 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 184xRr-00028f-00 for ; Fri, 25 Oct 2002 07:55:57 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 184xNL-0005O5-00; Fri, 25 Oct 2002 01:51:15 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 184xMy-0005G0-00 for emacs-devel@gnu.org; Fri, 25 Oct 2002 01:50:52 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 184xMv-0005Fn-00 for emacs-devel@gnu.org; Fri, 25 Oct 2002 01:50:52 -0400 Original-Received: from tyo202.gate.nec.co.jp ([210.143.35.52]) by monty-python.gnu.org with esmtp (Exim 4.10) id 184xMt-0005E3-00; Fri, 25 Oct 2002 01:50:48 -0400 Original-Received: from mailgate4.nec.co.jp ([10.7.69.193]) by TYO202.gate.nec.co.jp (8.11.6/3.7W01080315) with ESMTP id g9P5oNl29367; Fri, 25 Oct 2002 14:50:23 +0900 (JST) Original-Received: from mailsv4.nec.co.jp (mailgate51.nec.co.jp [10.7.69.190]) by mailgate4.nec.co.jp (8.11.6/3.7W-MAILGATE-NEC) with ESMTP id g9P5o3A18801; Fri, 25 Oct 2002 14:50:21 +0900 (JST) Original-Received: from mcsss2.ucom.lsi.nec.co.jp ([10.30.114.133]) by mailsv4.nec.co.jp (8.11.6/3.7W-MAILSV4-NEC) with ESMTP id g9P5o2215502; Fri, 25 Oct 2002 14:50:02 +0900 (JST) Original-Received: from mcspd15.ucom.lsi.nec.co.jp (mcspd15 [10.30.114.174]) by mcsss2.ucom.lsi.nec.co.jp (8.10.2+Sun/3.7Wlsi_mx_6.0) with ESMTP id g9P5o0B05464; Fri, 25 Oct 2002 14:50:00 +0900 (JST) Original-Received: by mcspd15.ucom.lsi.nec.co.jp (Postfix, from userid 31295) id 5D6AA36FF; Fri, 25 Oct 2002 14:50:00 +0900 (JST) Original-To: rms@gnu.org System-Type: i686-pc-linux-gnu Blat: Foop In-Reply-To: Original-Lines: 39 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:8765 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:8765 Richard Stallman writes: > The idea of this convention is to make it easier to figure out the > precise meaning of the variable from its name. It would be a useful > convention if it were followed more consistently. My argument is that adding `-flag' rarely does make it any easier to figure out the meaning, and it makes code much uglier. Compare: (setq use-some-behavior t) (if use-some-behavior x y) with: (setq use-some-behavior-flag t) (if use-some-behavior-flag x y) In situations like this, `-flag' just screams `redundant!' (it feels a bit like code that says `if (var == true)'). I don't know if this is an inherent property of boolean variables (as opposed to a convention like using `-function' with variables that should hold a function, which does seem genuinely useful), or just something that results from familiarity with existing convention, but it seems quite obviously true to me. One theory I have is that boolean variables are usually named as if they were verbs, e.g. `do-something', which implicitly tags them as being boolean (and which is why `-flag' seems redundant). [Other variable are usually nouns, and what adding `-flag' does is try to convert the verb-forms to noun-forms -- but programmers are already used to the verb forms from long usage, so this apparent improvement in consistency actually just confuses things.] -Miles -- Run away! Run away!