Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'classes,': 0.05; 'historically': 0.09; 'inherited': 0.09; 'logic': 0.09; 'type,': 0.09; 'type;': 0.09; 'python': 0.11; 'jan': 0.12; 'question.': 0.14; 'before.': 0.16; 'bool': 0.16; 'boolean': 0.16; 'c/c++': 0.16; 'disallow': 0.16; 'equations': 0.16; 'included,': 0.16; 'integers.': 0.16; 'macros': 0.16; 'operators.': 0.16; 'subclasses': 0.16; 'subclassing': 0.16; 'unfair': 0.16; 'values?': 0.16; 'variants': 0.16; 'language': 0.16; 'wrote:': 0.18; 'thu,': 0.19; 'not,': 0.20; 'seems': 0.21; 'sorry,': 0.24; 'fairly': 0.24; '15,': 0.26; 'values': 0.27; 'header:In-Reply- To:1': 0.27; 'am,': 0.29; 'generally': 0.29; "doesn't": 0.30; 'andrew': 0.30; 'message-id:@mail.gmail.com': 0.30; 'ordinary': 0.31; 'yes.': 0.31; 'allows': 0.31; 'languages': 0.32; 'quite': 0.32; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'c++': 0.36; 'false': 0.36; 'instances': 0.36; 'example,': 0.37; 'two': 0.37; 'to:addr:python-list': 0.38; 'rather': 0.38; 'sure': 0.39; 'to:addr:python.org': 0.39; 'even': 0.60; 'most': 0.60; 'mentioned': 0.61; 'new': 0.61; 'skip:* 10': 0.61; 'course': 0.61; 'name': 0.63; 'provide': 0.64; 'more': 0.64; '2015': 0.84; 'from.': 0.93 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=KTCsBFFPkBOTkytFAIgEChup8WZRzWhInRzCNXpfo7M=; b=MxvdMc+xc8kWbT3NN0ERCVM9LJ/tc3moxELEcFjFVWVbAsiPy/2M0tg4Uelz5psJ05 NwIRFQocW7OOppf5dwnmC7ZneGiughMELfVq9mTmDtiveFYwn3d/7TN7JvZ51+eS6fBT +4osa2E5b2tpVtrcqTgKZUAi1iAxvJD5Wg+sEyp1iI1rExQZpQXLJIit3aXB9wFuXbK2 A9yPrmYnFz5s14uZt6IzXP/9HvhpU44WDci/bSz3QjiFHvtWMe1d85jpP3PxfX6nsdnA rDSeHWNIqHS6RlyKqLBhhsz+UhPN0hNep7Us2jJtUB6V4jgRWfOGUsn59KJ5SinQ4Kp1 7u4g== X-Received: by 10.66.124.225 with SMTP id ml1mr15488367pab.142.1421341595364; Thu, 15 Jan 2015 09:06:35 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <54B76B0A.7050706@r3dsolutions.com> References: <54ABB88A.7070504@r3dsolutions.com> <54ABC52A.1050507@davea.name> <54ABE383.3020801@r3dsolutions.com> <54AC97D9.4010504@r3dsolutions.com> <54ACAA04.60801@r3dsolutions.com> <54ADC99F.3020405@stoneleaf.us> <54B44A64.7010105@r3dsolutions.com> <54b4aded$0$2738$c3e8da3$76491128@news.astraweb.com> <54B5B486.7080406@r3dsolutions.com> <54B72D32.3090209@r3dsolutions.com> <54B76B0A.7050706@r3dsolutions.com> From: Ian Kelly Date: Thu, 15 Jan 2015 10:05:55 -0700 Subject: Re: Comparisons and sorting of a numeric class.... To: Python Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 25 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1421341604 news.xs4all.nl 2943 [2001:888:2000:d::a6]:58192 X-Complaints-To: abuse@xs4all.nl Path: csiph.com!usenet.pasdenom.info!news.redatomik.org!feed.ac-versailles.fr!nerim.net!novso.com!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Xref: csiph.com comp.lang.python:83836 On Thu, Jan 15, 2015 at 12:23 AM, Andrew Robinson wrote: > Can you name any other language that *does* allow subclassing of > booleans or creation of new boolean values? > > Yes. Several off the top of my head -- and I have mentioned these before. > They generally come with the extra subclasses pre-created and the user > doesn't get to create the classes, but only use them; none the less -- they > have more than two values with which to do logic equations with. > > VHDL, Verilog, HDL, Silos III, and there are IEEE variants also. > C/C++ historically allowed you to do it with instances included, although I > am not sure it still does. Sorry, let me rehprase my question. Of course there will be special-purpose languages that allow you to do interesting things with the logic values and operators. Can you name any other *general-purpose* language that allows subclassing of booleans or creation of new boolean values? If not, it seems rather unfair to single out Python and marvel that this isn't allowed when it's actually quite normal to disallow it. Unless you care to provide an example, I am fairly sure your claim of C/C++ is wrong. The bool type in C++ is a primitive type, none of which can be inherited from. C doesn't even have a bool type; at most you have macros for true and false to 1 and 0, so the "booleans" there are just ordinary integers.