The purpose of this idea is to expand a bit on the decimal default idea
which I submitted previously. In this idea I want to suggest the human
idea of a python number. The concept is very simple, yet may have far
reaching implications not only for future python(s) but also for the wider
adaptation of python in the greater academic and professional communities.
The idea of python number means that there are no types, no limits, no
constraints, and that all python numbers are dynamic. The upper level
syntax is also very simple; all python numbers are simply human.
My influence for this preference is rooted in the Rexx programming
language; attributed to Mike Cowlishaw, former IBM fellow. The Rexx
programming language is dynamic, and has no types. To put it more
succinctly for those of you who have not used Rexx, the only data type
is a string of characters (that's it). Rexx numbers are simply those
strings of characters that may be interpreted as a valid Rexx number.
The Python language might be changed to adopt the python number
concept for all math processing, unless explicitly modified. This goes
somewhat beyond using decimal floating point as a default numerical
type. It means using human numeric expressions that meet human
expectation for numeric processing by default.
Under the covers (whatever we mean by that) processing is handled
by decimal.Decimal, unless explicitly modified. What does this mean for
python users in general? Well, no more worrying about types at all... no ints,
no floats, no rationals, no irrationals, no fractions, and certainly no binaries.
In short, if its a human number, its a python number.
I am expecting that (just as in Rexx numbers) defining very clearly what
is a python number will be key for wide adaptation of the concept. But there
should be no surprises for users, particularly average users. Anyone with
a middle school expectation of a numeric format should be able to use
python numbers without surprises. However, for advanced users the full
interface should be available (as is the context for Decimal) through coding
based on knowledge and experience, yet the default context for Decimal
should be based on average users in most environments and use cases.
It is my belief that Python should lead the way in the twenty-first century
for advanced computation for academic, professional, business, and scientific
communities. There is a 40 year momentum for embedded binary floats &
doubles, also numeric types generally, but it is time to move forward. The
technology is ready, and the need is great. Let's do it.
Thank you for your consideration. Good evening.
Mark H Harris