9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Devon H. O'Dell" <devon.odell@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: [9fans] speaking of kenc
Date: Tue,  1 May 2007 11:29:26 -0400	[thread overview]
Message-ID: <9ab217670705010829s395d3a98j8d713251f5d137ce@mail.gmail.com> (raw)
In-Reply-To: <d82b0da89f19f7d41b952f97b1f5aa41@coraid.com>

2007/5/1, erik quanstrom <quanstro@coraid.com>:
> >
> > I've seen more than my fair share of tf = !!value; out there, which is
> > just awful to read. It is very useful to have a defined way of
> > determining the binary success or failure of an operation without
> > having to understand whether -1, 1, 0, 38, or -129125 is success,
> > failure, or indication of an error condition.
>
> i'm not sure why a boolean type fixes this problem.  using _Bool
> in this case shoves some implicit magic into '=' that wasn't there
> before and doesn't map at all to how the machine really works.
>
> what's wrong with this?
>
>         if(tf != 0)
>                 return 0;
>         return -1;

Nothing is wrong with that, but the point is that it isn't always that
simple. UNIX in general has different meanings in different places.
This isn't C's fault, but not having a boolean type has contributed to
this (ab)use of the meaning of magic integers. Sometimes non-zero is
true and zero is false. Sometimes 0 is true and non-zero is false.
Sometimes 0 is true and non-zero indicate differing levels of
falseness.

It doesn't fix these problems but it discourages them from happening
in the future.

Anyway, indeed, this is a C language discussion, so to not be
completely off topic, what I typically do in Plan 9 is:

enum {
    true,
    false,
};

(Yes, I know this still has nothing to do with Plan 9, but I tried :))

> - erik

I'll digress from this thread, because I'm certainly not the best
person to determine what parts of C are good nor bad. Just to bitch
about my own use. I think boolean types are a good thing. But I won't
pollute this list further (and sorry for the current level of
pollution) :(

--dho


  reply	other threads:[~2007-05-01 15:29 UTC|newest]

Thread overview: 149+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-27  3:08 erik quanstrom
2007-04-27  3:44 ` David Leimbach
2007-04-27  4:56   ` Bruce Ellis
2007-04-27  6:21     ` Skip Tavakkolian
2007-04-27  4:54 ` Joel C. Salomon
2007-04-27  4:58   ` Bruce Ellis
2007-04-27 11:00   ` Charles Forsyth
2007-04-27 13:49     ` David Leimbach
2007-04-27 16:23       ` Douglas A. Gwyn
2007-04-29  2:02         ` erik quanstrom
2007-04-29  2:55           ` Tim Wiess
2007-04-29  6:42             ` Uriel
2007-04-29 20:47           ` Charles Forsyth
2007-04-30  8:29           ` Douglas A. Gwyn
2007-04-30 13:08             ` Uriel
2007-05-01  0:22             ` erik quanstrom
2007-05-01 14:45               ` Jon Snader
2007-05-01 14:56                 ` Devon H. O'Dell
2007-05-01 15:12                   ` erik quanstrom
2007-05-01 15:29                     ` Devon H. O'Dell [this message]
2007-05-01 21:32                   ` Jon Snader
2007-05-02  0:04                   ` Derek Fawcus
2007-05-02  8:44                     ` Charles Forsyth
2007-05-01 15:51                 ` Anthony Sorace
2007-05-02  8:32                   ` Douglas A. Gwyn
2007-05-02  9:00                     ` Steve Simon
2007-05-03  1:32                       ` David Arnold
2007-05-03  3:39                         ` Adrian Tritschler
2007-05-03  3:57                           ` Paul Lalonde
2007-05-03  4:11                             ` Federico Benavento
2007-05-03 13:34                               ` Anthony Sorace
2007-05-03 22:04                               ` LiteStar numnums
2007-05-04  1:45                               ` Roman Shaposhnick
2007-05-04  1:51                                 ` Lyndon Nerenberg
2007-05-04  2:00                                 ` erik quanstrom
2007-05-04  2:08                                   ` Roman Shaposhnick
2007-05-04  2:12                                     ` Lyndon Nerenberg
2007-05-04  2:20                                       ` Roman Shaposhnick
2007-05-04  2:35                                         ` Lyndon Nerenberg
2007-05-04  6:53                                           ` Bruce Ellis
2007-05-05  4:49                                             ` Roman Shaposhnick
2007-05-05  5:11                                           ` Roman Shaposhnick
2007-05-05  5:14                                             ` Bruce Ellis
2007-05-05 18:52                                               ` erik quanstrom
2007-05-05 19:13                                                 ` lucio
2007-05-05 23:09                                                   ` Bruce Ellis
2007-05-06  1:24                                                     ` Rogelio Serrano
2007-05-06  4:08                                                   ` erik quanstrom
2007-05-06  4:53                                                     ` W B Hacker
2007-05-06  5:01                                                     ` lucio
2007-05-06  5:01                                                     ` Rogelio Serrano
2007-05-06  5:07                                                       ` Rogelio Serrano
2007-05-06  5:15                                                         ` lucio
2007-05-06  5:37                                                           ` Bruce Ellis
2007-05-06  6:30                                                           ` Rogelio Serrano
2007-05-06  6:46                                                             ` lucio
2007-05-06  6:49                                                             ` lucio
2007-05-06  7:35                                                               ` Rogelio Serrano
2007-05-06  6:51                                                             ` W B Hacker
2007-05-06 10:25                                                               ` Rogelio Serrano
2007-05-06  6:04                                                         ` Skip Tavakkolian
2007-05-06  7:24                                                           ` lucio
2007-05-06 11:47                                                             ` Bruce Ellis
2007-05-07  1:55                                                           ` Roman Shaposhnik
2007-05-06  5:12                                                       ` lucio
2007-05-06 13:18                                                         ` Richard Miller
2007-05-06 20:23                                                           ` Roman Shaposhnik
2007-05-07  1:57                                                         ` Roman Shaposhnik
2007-05-07  4:29                                                           ` W B Hacker
2007-05-07 15:08                                                             ` Tim Wiess
2007-05-06  5:15                                                       ` W B Hacker
2007-05-06  7:43                                                         ` Rogelio Serrano
2007-05-06  8:02                                                           ` W B Hacker
2007-05-06  8:12                                                             ` Rogelio Serrano
2007-05-06  9:00                                                               ` W B Hacker
2007-05-06  8:03                                                           ` lucio
2007-05-06  8:42                                                             ` Rogelio Serrano
2007-05-06 10:20                                                               ` matt
2007-05-06 10:29                                                                 ` Rogelio Serrano
2007-05-06  9:09                                                             ` W B Hacker
2007-05-06  5:10                                                     ` W B Hacker
2007-05-06  5:32                                                       ` lucio
2007-05-06  6:18                                                         ` Rogelio Serrano
2007-05-06  6:30                                                           ` W B Hacker
2007-05-06  6:21                                                         ` W B Hacker
2007-05-07  1:47                                                     ` Roman Shaposhnik
2007-05-06  1:13                                               ` Rogelio Serrano
2007-05-06  3:31                                                 ` W B Hacker
2007-05-06  4:10                                                 ` erik quanstrom
2007-05-06  4:55                                                   ` Rogelio Serrano
2007-05-06  5:10                                                     ` lucio
2007-05-06  6:05                                                       ` W B Hacker
2007-05-06  8:45                                                         ` matt
2007-05-06  6:45                                                       ` Rogelio Serrano
2007-05-06  6:52                                                         ` lucio
2007-05-06  7:09                                                           ` W B Hacker
2007-05-06  7:34                                                             ` Rogelio Serrano
2007-05-06  7:49                                                               ` W B Hacker
2007-05-06  7:54                                                               ` lucio
2007-05-06  8:35                                                                 ` Rogelio Serrano
2007-05-06  7:40                                                             ` lucio
2007-05-06  8:59                                                               ` W B Hacker
2007-05-06  7:03                                                         ` W B Hacker
2007-05-06  5:21                                                 ` Bruce Ellis
2007-05-06  7:01                                                   ` Rogelio Serrano
2007-05-05  5:30                                             ` lucio
2007-05-04  2:16                                     ` erik quanstrom
2007-05-04  9:24                                       ` C H Forsyth
2007-05-04 11:18                                         ` erik quanstrom
2007-05-04 16:19                                         ` Paul Lalonde
2007-05-04 21:58                                           ` Dave Eckhardt
2007-05-04 22:27                                             ` Paul Lalonde
2007-05-04  8:46                                 ` Douglas A. Gwyn
2007-05-05  4:47                                   ` Roman Shaposhnick
2007-05-02  8:33                 ` Douglas A. Gwyn
2007-05-02 11:25                   ` Jon Snader
2007-05-02  8:33               ` Douglas A. Gwyn
2007-05-02 11:30                 ` erik quanstrom
2007-04-27 16:21     ` Douglas A. Gwyn
2007-04-27 11:12   ` Charles Forsyth
2007-04-27 11:46   ` erik quanstrom
2007-04-27 14:21     ` Joel C. Salomon
2007-04-27 14:26       ` erik quanstrom
2007-04-27 14:41         ` Rob Pike
2007-04-27 14:55         ` Joel C. Salomon
2007-04-27 15:24           ` erik quanstrom
2007-04-27 15:53           ` C H Forsyth
2007-04-28  9:09   ` ron minnich
2007-04-28  9:17     ` Lucio De Re
2007-04-28 13:48       ` Eric Van Hensbergen
2007-04-28 13:57         ` Lucio De Re
2007-04-28 14:15         ` LiteStar numnums
2007-04-28 21:21         ` Roman Shaposhnik
2007-04-28 21:54           ` ron minnich
2007-04-28 22:33             ` Steve Simon
2007-04-28 15:45     ` Charles Forsyth
2007-04-28 17:58       ` Rodrigo Miranda
2007-04-28 20:12         ` Eric Van Hensbergen
2007-04-28 21:10           ` Roman Shaposhnik
2007-04-28 18:15       ` Lluís Batlle i Rossell
2007-04-29  2:39       ` Joel C. Salomon
2007-04-29 12:41         ` erik quanstrom
2007-04-29 16:00           ` Joel C. Salomon
2007-04-28 21:24     ` Roman Shaposhnik
2007-05-06 12:36 erik quanstrom
2007-05-06 15:18 ` lucio
2007-05-06 16:23   ` W B Hacker
2007-05-06 17:53     ` Benn Newman
2007-05-06 17:56       ` Francisco J Ballesteros

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9ab217670705010829s395d3a98j8d713251f5d137ce@mail.gmail.com \
    --to=devon.odell@gmail.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).