On 1/23/2015 6:46 AM, Andrew Robinson wrote:

-- because people seem to have a very wrong idea about bool's nature as
a dualton being somehow justified solely by the fact that there are only
two values in Boolean logic; For, singletons style programming is not
justified by the number of values an object has in reality -- And I know
Charles bool didn't use singletons in his algebra,  -- just read his
work and you'll see he never mentions them or describes them, but he
does actually use dozens of *instances* of the True and False objects he

In mathematics, as conceived by most mathematicians, there is only one instance of each immutable value. Value is identity. There is only one immutable empty set. (This, without the assumed 'immutable' added, is a quote from beginning set theory texts written to counteract the beginner mistake, here repeated by you, of thinking that there might be more than one.) There is only one 0, one 1, one (immutable) set {0, 1}, and one one symbol 'a'. The notion of identity separate from value is only needed for mutable objects, which generally do not appear in math. So unless Boole was an oddball among mathematicians, he considered multiple instances of the word 'True' to be multiple references to the one and only logical value True.

In Python, any immutable instance *could be* a singleton. In current CPython, the ints -10 to 256 *are* singletons. In 'x = 1 + 1', the two 1s are the same 1. Other ints are not made to be singletons only because the cost would be greater than the benefit. Similarly, ascii chars are singletons and some other strings are interned to make them singletons. Also, the empty tuple is a singleton. Empty lists cannot be because they are mutable and each instance must be separately mutable.

>>> x = 'a'; y = 'a'; x is y
True
>>> x = (); y = (); x is y
True

was talking about -- for the obvious reason that he would have needed
special mirrors, dichroic or partially silvered, to be even able to
attempt to make one instance of True written on paper show up in
multiple places;

This is engineer talk. From a mathematical point of view, the above is nonsense. Math values are generally seen as timeless spaceless platonic values.

--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to