Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #9171

Re: Is there a shorter solution ?

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Is there a shorter solution ?
Date 2011-08-10 13:23 -0700
Organization None to speak of
Message-ID <ln4o1p9fsp.fsf@nuthaus.mib.org> (permalink)
References (1 earlier) <27445c82-9386-477b-a686-09658ce156f8@n35g2000yqf.googlegroups.com> <2e70f5da-2af5-4a9c-a6f7-047288cf670d@y8g2000prd.googlegroups.com> <j1udcm$p6l$1@dont-email.me> <ln8vr19k54.fsf@nuthaus.mib.org> <j1ukq2$hr2$1@dont-email.me>

Show all headers | View raw


James Kuyper <jameskuyper@verizon.net> writes:
> On 08/10/2011 02:49 PM, Keith Thompson wrote:
>> James Kuyper <jameskuyper@verizon.net> writes:
> ...
>>> All logical expressions in C indicate truth by having a result of 1.
>> 
>> For certain meanings of the phrase "logical expressions".
>> 
>> The <, <=, >, >=, ==, !=, !, &&, and || operators are all defined to
>> yield either 0 or 1.  I believe that's an exhaustive list.
>
> That's the meaning that I intended for "logical expressions".

I assumed so, but it's not clear from the phrase itself just what it
means; someone else might easily think of ``isdigit(c)'' as a logical
expression.  (The standard doesn't define the term.)

>> On the other hand, of course, a scalar expression used as a condition is
>> treated as false if it compares equal to 0, true otherwise.
>
> And that is not. I'd refer to those as conditions, not logical
> expressions. It's a distinction between what the value of an expression
> means (0: false, 1: true) and how the value of the expression is used
> (0: false, non-0: true).

That's a useful distinction, and it would be nice to have universally
agreed terms make that distinction.

> In a very different but somewhat C-like language, it would be
> philosophically cleaner to have logical expressions give results of
> boolean type; conditions constrained to take values of boolean type; and
> no conversions (neither implicit nor explicit) to or from the boolean
> type. The equivalent of C's implicit conversions could be done by
> 	non-boolean_value != 0
> 	boolean_value ? 1 : 0
> It would break way too much existing code to make any such change to C
> itself, of course.

Yes, and there are plenty of languages like that, though most of them
aren't particularly C-like (Pascal, Ada).  To avoid triggering a
language war, I'll just mention that I do personally prefer one approach
over the other without saying which.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Nokia
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Is there a shorter solution ? HumbleWorker <amardeep.developer@gmail.com> - 2011-08-06 10:25 -0700
  Re: Is there a shorter solution ? Ike Naar <ike@sdf.lonestar.org> - 2011-08-06 17:42 +0000
  Re: Is there a shorter solution ? John Gordon <gordon@panix.com> - 2011-08-06 17:44 +0000
    Re: Is there a shorter solution ? Kenneth Brody <kenbrody@spamcop.net> - 2011-08-08 09:47 -0400
      Re: Is there a shorter solution ? Keith Thompson <kst-u@mib.org> - 2011-08-08 08:09 -0700
        Re: Is there a shorter solution ? HumbleWorker <amardeep.developer@gmail.com> - 2011-08-10 07:20 -0700
  Re: Is there a shorter solution ? tom st denis <tom@iahu.ca> - 2011-08-10 09:43 -0700
    Re: Is there a shorter solution ? HumbleWorker <amardeep.developer@gmail.com> - 2011-08-10 09:51 -0700
      Re: Is there a shorter solution ? James Kuyper <jameskuyper@verizon.net> - 2011-08-10 12:57 -0400
        Re: Is there a shorter solution ? HumbleWorker <amardeep.developer@gmail.com> - 2011-08-10 10:13 -0700
          Re: Is there a shorter solution ? blp@cs.stanford.edu (Ben Pfaff) - 2011-08-10 10:17 -0700
            Re: Is there a shorter solution ? HumbleWorker <amardeep.developer@gmail.com> - 2011-08-10 10:29 -0700
              Re: Is there a shorter solution ? tom st denis <tom@iahu.ca> - 2011-08-10 11:29 -0700
                Re: Is there a shorter solution ? "J. J. Farrell" <jjf@bcs.org.uk> - 2011-08-11 03:02 +0100
            Re: Is there a shorter solution ? Kenneth Brody <kenbrody@spamcop.net> - 2011-08-12 11:39 -0400
              Re: Is there a shorter solution ? Keith Thompson <kst-u@mib.org> - 2011-08-12 09:06 -0700
          Re: Is there a shorter solution ? James Kuyper <jameskuyper@verizon.net> - 2011-08-10 14:00 -0400
          Re: Is there a shorter solution ? Seebs <usenet-nospam@seebs.net> - 2011-08-11 01:46 +0000
        Re: Is there a shorter solution ? Keith Thompson <kst-u@mib.org> - 2011-08-10 11:49 -0700
          Re: Is there a shorter solution ? James Kuyper <jameskuyper@verizon.net> - 2011-08-10 15:03 -0400
            Re: Is there a shorter solution ? Keith Thompson <kst-u@mib.org> - 2011-08-10 13:23 -0700
      Re: Is there a shorter solution ? gordonb.d3r7p@burditt.org (Gordon Burditt) - 2011-08-10 18:15 -0500
    Re: Is there a shorter solution ? HumbleWorker <amardeep.developer@gmail.com> - 2011-08-10 11:26 -0700
      Re: Is there a shorter solution ? James Kuyper <jameskuyper@verizon.net> - 2011-08-10 15:14 -0400

csiph-web