Hi Steve You've suggested that we add to Python an integer NaN object, similar to the already existing float NaN object.
>>> x = float('nan') >>> x, type(x) (nan, <class 'float'>) I've learnt that decimal also has a NaN object, but not fractions. https://stackoverflow.com/questions/19374254/ >>> from decimal import Decimal >>> y = Decimal('nan') >>> y, type(y) (Decimal('NaN'), <class 'decimal.Decimal'>) Numpy has its own fixed size int classes >>> from numpy import int16 >>> x = int16(2358); x, type(x) (2358, <class 'numpy.int16'>) >>> x = x * x; x, type(x) __main__:1: RuntimeWarning: overflow encountered in short_scalars (-10396, <class 'numpy.int16'>) I'm confident that one could create classes similar to numpy.int16, except that >>> z = int16('nan') Traceback (most recent call last): ValueError: invalid literal for int() with base 10: 'nan' would not raise an exception (and would have the semantics you wish for). I wonder, would this be sufficient for the use cases you have in mind? -- Jonathan _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/