220 35320 <CADbh+eQdLJ3uuA+MXF8zY33dMtrMHVW=3r25fyCwD4p3wkP8=Q@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Brittany Friedman <fourthgeek@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Other boolean type
Date: Fri, 10 Nov 2017 14:16:20 -0600
Lines: 128
Approved: news@gmane.org
Message-ID: <CADbh+eQdLJ3uuA+MXF8zY33dMtrMHVW=3r25fyCwD4p3wkP8=Q@mail.gmail.com>
References: <3ab3afca-0676-4c57-9d76-a0c934f3d2bd@isocpp.org> <ou4bfs$r3c$1@blaine.gmane.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="001a114062ec1770ad055da69863"
X-Trace: blaine.gmane.org 1510344990 26267 195.159.176.226 (10 Nov 2017 20:16:30 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Fri, 10 Nov 2017 20:16:30 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCHLPXGUXMJBBFMSTDIAKGQENKE2K4Y@isocpp.org Fri Nov 10 21:16:21 2017
Return-path: <std-proposals+bncBCHLPXGUXMJBBFMSTDIAKGQENKE2K4Y@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-qk0-f200.google.com ([209.85.220.200])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCHLPXGUXMJBBFMSTDIAKGQENKE2K4Y@isocpp.org>)
	id 1eDFiu-0006Fh-Rq
	for gclcip-std-proposals@m.gmane.org; Fri, 10 Nov 2017 21:16:21 +0100
Original-Received: by mail-qk0-f200.google.com with SMTP id n66sf7129388qki.10
        for <gclcip-std-proposals@m.gmane.org>; Fri, 10 Nov 2017 12:16:28 -0800 (PST)
ARC-Seal: i=2; a=rsa-sha256; t=1510344982; cv=pass;
        d=google.com; s=arc-20160816;
        b=APnVhgPZguu2YwcUVVAOqoKgdQyJ5u/MYPAfeZxkKqGugsgvDGEPxbKhZi5weGJfex
         GZgq8ss60MdsiFDQGGaPV3xcxT5svwNjyj5Po+q6di0t3ZpwrwfdKlFbE38KiTWlDBj/
         MBI26T2bSeDDo5qzTXEZZ9jexbreySO42Vbzk0ERaSWrfS/DFlFuHzAVfDkfu3AEQpH/
         mQbH/iMt8WHgC+XxoLhwW2O8bmkt7WukiOkrqINoxoDMUfvZRyUc107h+W0RW6EfZmB2
         ZdWaQi2MfyXDoi6EdgbzFkDmaix1UuPZE/fMafX57jmbs8S+mRXzZETyeshRqy1CT0yz
         +xLA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:reply-to:to:subject:message-id:date
         :from:references:in-reply-to:mime-version:arc-authentication-results
         :arc-message-signature:dkim-signature:arc-authentication-results;
        bh=TyV72qcLt+7vb/qSIx2/clHjK1/SYBvit/vZx1NuIuM=;
        b=aCtOEnQ90HXcC7xlGBX5GjfxTHjtOB+qjQABM60MWg5p3ZnXKAblzmtOE/06WOD+bx
         /gGJVQZpKKP/RPgK2aEXLa4lCU+MkVXaED1XmMhr7QaaNerZzY9A9mGaWzv5F8RT/JwM
         zJWxrL4i8IRfdrKtca7X9Z1m8D/YZVvRljQhBrjty4MjbtzlohmLiY8SrrCDhhIXXqzG
         GbRQcVEFEKRkZEWBHlEWbw3z8ObNMhnWsGwySBZhGJ9F0z0afc6VMS3f/yq0BVAR6Ru7
         z+9TnzEof29+kKp/xmq4CxsPYS7l2O7gi9KzBGQjEoCxBay1liM9oBE+7JFjoTUUBVy/
         THjw==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=Bg0msHmJ;
       spf=pass (google.com: domain of fourthgeek@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=fourthgeek@gmail.com;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
         :x-original-sender:x-original-authentication-results:reply-to
         :precedence:mailing-list:list-id:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=TyV72qcLt+7vb/qSIx2/clHjK1/SYBvit/vZx1NuIuM=;
        b=ej075OrTyaPRrCJGb6NM52fxCscvWvKDyt/0j6Uc42dbShPz5pbm/neQ3YmMAfZO1S
         m16ARf4re43gxsTBwK+fArWdpjY/7DhaR+7tgIGdnG2mO+kJL0NqsysST5iTZuCTIn3A
         RHFyZVzNikJLqKm9E0cKwOv76Bkys7o4blU49+6QGc7alH2B4p3oWW3ix4a/yWwT+GE4
         pJKbYTz9VzAfIl0ElqrnLHFXAxESEmx87i6d4IRj5RTeiR4s/srLFFNSO+x2mXLtU3pe
         WmRubGRV/QOXxHmUB32WZVFxVyefybctxsdjFtq8sc0B/j0Kh1aNq6ib0+jO/A9OZesa
         y26Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:in-reply-to:references:from:date
         :message-id:subject:to:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=TyV72qcLt+7vb/qSIx2/clHjK1/SYBvit/vZx1NuIuM=;
        b=G7P3+nC/i4b+PnXbpntQhClQnuIUbAglhNxSxACkenLr6q16vEc1+yUyAiLvoeF7JM
         WWOhPUkI05x6VvEDFwtw58ercWvZ9CtxRYHTMtwh4qKPRPXt88NIiE1o5ocNEOP9oVU1
         sO6qK2Cz8eftmLuosKuANlz+C3waLEOdPEMgWLYOOp+t4OsAl9ioWr5ItFyjCiX0LzMn
         A5IyFl6x6h2MsNh9+vCRhrvEwLKqBbfCsDCN/NvLiYJmi0exBxHwxJrGOkRrvWlTe6RM
         +vgIs/X4TE6KE3KhIR0zvWV9H34XQ0igzygZoSo6kDUdmSNcNkKusYjdi5Zzk4rZjUrC
         fgqA==
X-Gm-Message-State: AJaThX4ndROKuGhGZ8FWtpyHLOY5t7Cxx4vBV0cCfRvBq97uai9jWNrI
	fAvC5BdxWcr1oB7eMb8Wsi+SIg==
X-Google-Smtp-Source: ABhQp+T0iOTctcKxHWdHvNgrFNQthqayk6XOep+I+yil/8M7RnixTuX38DAV8tWvSb2xFaOy4Ba8wg==
X-Received: by 10.237.43.66 with SMTP id p60mr7647814qtd.39.1510344982693;
        Fri, 10 Nov 2017 12:16:22 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.55.207.5 with SMTP id e5ls12812734qkj.11.gmail; Fri, 10 Nov
 2017 12:16:21 -0800 (PST)
X-Received: by 10.55.137.196 with SMTP id l187mr2452100qkd.134.1510344981803;
        Fri, 10 Nov 2017 12:16:21 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1510344981; cv=none;
        d=google.com; s=arc-20160816;
        b=Nok2kTXHsmmtuvqf7CJbbFYWoW+7FcGaOGoCBOyKeMFUnntNpx0wdo/ClyDhJsJayc
         jxulOPOYb0NvA5MlizGHFwpNt2sSoZpQoTOj5/vkLdq3oFE0neHDFaXb/GtE6ye5FnUg
         h9ZDtUPi00zIM4+03bSgBnIbIuH8AXnjYUR45kU932N2nt4w+BXR+qWxYIC8zAfIiic3
         v40r795SOfojP7NNx6RNld7nAcsTGdSDPvNQXRGTbdUKXf7GV6paJKHE9J9iQB8/g//i
         ZqqTtiuceKRsEGXVsqpTM+pKAsIuU6EVFa8dZ67FhTrfFqFp5T0zXp6LdrP/QI8NIH3A
         JxqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=to:subject:message-id:date:from:references:in-reply-to:mime-version
         :dkim-signature:arc-authentication-results;
        bh=adoUJJKgXRyhGfdiCPUo5aaTBOZOuB6ooP9uU4zPn4E=;
        b=ozZ4YkS2xeHQOxZK+GP3oZB+yMR2R8Lb3BA0j04uiqund8nmhFt4DN9FgWeATxTTDf
         7U9jkSxXbDqXoN3wfvWmd2scSMSrebE6oZzYX9KJ3c56139pXlIOUsEueacv8iB6+Bnj
         1rsA1FFo8V16fwbDaBUFFEEhVfGIKegKpH2o5DYozFaSUyffqt4feaemzvsiYPbuYION
         IoaSh0m+vdiRM7etgCtyt0exkOlw84uyVDvzjt4ndecrHPvaOzmMHqU+FxV/A9AkcolF
         e7zdHIpPnJWNn1ch0rj+gTuUMxsYD88N0pANsOPtGmfhcqeUerQz9V408oIfLyAnm4hn
         LFNA==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=Bg0msHmJ;
       spf=pass (google.com: domain of fourthgeek@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=fourthgeek@gmail.com;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com
Original-Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65])
        by mx.google.com with SMTPS id q44sor6632755qtg.38.2017.11.10.12.16.21
        for <std-proposals@isocpp.org>
        (Google Transport Security);
        Fri, 10 Nov 2017 12:16:21 -0800 (PST)
Received-SPF: pass (google.com: domain of fourthgeek@gmail.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65;
X-Received: by 10.200.37.89 with SMTP id 25mr2653712qtn.268.1510344981172;
 Fri, 10 Nov 2017 12:16:21 -0800 (PST)
Original-Received: by 10.140.20.163 with HTTP; Fri, 10 Nov 2017 12:16:20 -0800 (PST)
In-Reply-To: <ou4bfs$r3c$1@blaine.gmane.org>
X-Original-Sender: fourthgeek@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com header.s=20161025 header.b=Bg0msHmJ;       spf=pass
 (google.com: domain of fourthgeek@gmail.com designates 209.85.220.65 as
 permitted sender) smtp.mailfrom=fourthgeek@gmail.com;       dmarc=pass
 (p=NONE sp=NONE dis=NONE) header.from=gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Google-Group-Id: 399137483710
List-Post: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:35320
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/35320>

--001a114062ec1770ad055da69863
Content-Type: text/plain; charset="UTF-8"

I have occasionally had use for Lukazsiewicz logic ( yes, no, maybe ) in
code from time to time, especially dealing with multiple selection
checkboxes in UI code, or as a more useful standin for optional/expected
bools.

(yes && maybe) == maybe
(maybe && no) == no
(maybe == maybe) == true

There are alternative interpretations of "tribool", like Kleene algebra
(yes, no, undefined). In that logic,
(undefined == undefined) == undefined

This makes it incompatible with Lukazsiewicz.

As I understand, boost tribool uses Kleene algebra. Personally I have found
Lukazsiewicz easier to understand and more useful.

The point of this post was to point out that any proposition of creating a
tribool needs to have a very clear idea of what this third state actually
means.

https://en.wikipedia.org/wiki/Three-valued_logic

On Fri, Nov 10, 2017 at 8:01 AM, Robert Ramey <ramey@rrsd.com> wrote:

> On 11/9/17 5:57 PM, g34rst@gmail.com wrote:
>
>> A type like a boolean but with three states false true and undefined, the
>> default value would be undefined, in cases where the type is not initialy
>> true or not initialy false.
>>
>>
> boost tribool
>
> Robert Ramey
>
> --
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> To view this discussion on the web visit https://groups.google.com/a/is
> ocpp.org/d/msgid/std-proposals/ou4bfs%24r3c%241%40blaine.gmane.org.
>

-- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CADbh%2BeQdLJ3uuA%2BMXF8zY33dMtrMHVW%3D3r25fyCwD4p3wkP8%3DQ%40mail.gmail.com.

--001a114062ec1770ad055da69863
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I have occasionally had use for Lukazsiewicz logic ( yes, =
no, maybe ) in code from time to time, especially dealing with multiple sel=
ection checkboxes in UI code, or as a more useful standin for optional/expe=
cted bools.<div><br></div><div>(yes &amp;&amp; maybe) =3D=3D maybe</div><di=
v>(maybe &amp;&amp; no) =3D=3D no</div><div>(maybe =3D=3D maybe) =3D=3D tru=
e</div><div><br></div><div>There are alternative interpretations of &quot;t=
ribool&quot;, like Kleene algebra (yes, no, undefined). In that logic,</div=
><div>(undefined =3D=3D undefined) =3D=3D undefined</div><div><br></div><di=
v>This makes it incompatible with Lukazsiewicz.</div><div><br></div><div>As=
 I understand, boost tribool uses Kleene algebra. Personally I have found L=
ukazsiewicz easier to understand and more useful.</div><div><br></div><div>=
The point of this post was to point out that any proposition of creating a =
tribool needs to have a very clear idea of what this third state actually m=
eans.</div><div><br></div><div><a href=3D"https://en.wikipedia.org/wiki/Thr=
ee-valued_logic">https://en.wikipedia.org/wiki/Three-valued_logic</a><br></=
div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Fri,=
 Nov 10, 2017 at 8:01 AM, Robert Ramey <span dir=3D"ltr">&lt;<a href=3D"mai=
lto:ramey@rrsd.com" target=3D"_blank">ramey@rrsd.com</a>&gt;</span> wrote:<=
br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left=
:1px #ccc solid;padding-left:1ex"><span class=3D"">On 11/9/17 5:57 PM, <a h=
ref=3D"mailto:g34rst@gmail.com" target=3D"_blank">g34rst@gmail.com</a> wrot=
e:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
A type like a boolean but with three states false true and undefined, the d=
efault value would be undefined, in cases where the type is not initialy tr=
ue or not initialy false.<br>
<br>
</blockquote>
<br></span>
boost tribool<br>
<br>
Robert Ramey<span class=3D""><br>
<br>
-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals%2Bunsubscribe@isocpp.org" target=3D=
"_blank">std-proposals+unsubscribe@isoc<wbr>pp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br></span>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/ou4bfs%24r3c%241%40blaine.gmane.org" =
rel=3D"noreferrer" target=3D"_blank">https://groups.google.com/a/is<wbr>ocp=
p.org/d/msgid/std-proposals<wbr>/ou4bfs%24r3c%241%40blaine.<wbr>gmane.org</=
a>.<br>
</blockquote></div><br></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CADbh%2BeQdLJ3uuA%2BMXF8zY33dMtrMHVW%=
3D3r25fyCwD4p3wkP8%3DQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoo=
ter">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CADbh%2Be=
QdLJ3uuA%2BMXF8zY33dMtrMHVW%3D3r25fyCwD4p3wkP8%3DQ%40mail.gmail.com</a>.<br=
 />

--001a114062ec1770ad055da69863--

.
