On Sun, Jul 2, 2017 at 2:16 PM, Steven D'Aprano <steve@pearwood.info> wrote:
On Sat, Jun 24, 2017 at 10:42:19PM +0300, Koos Zevenhoven wrote:

[...]
> Clearly, there needs to be some sort of distinction between runtime
> classes/types and static types, because static types can be more precise
> than Python's dynamic runtime semantics.

I think that's backwards: runtime types can be more precise than static
types. Runtime types can make use of information known at compile time
*and* at runtime, while static types can only make use of information
known at compile time.


​This is not backwards -- just a different interpretation of the same situation. In fact, the problem is that 'type' already means too many different things. Clarity of terminology for a concept helps a lot in making the concept itself simpler and easier for both the designers and the users.

This is analogous to the problem in English language that the verb 'argue' does not have a single meaning. Sometimes the concepts of an argument and a productive discussion get mixed up, and people who want to discuss productively just end up going away because others are turning the discussion into an argument.

-- Koos

--
+ Koos Zevenhoven + http://twitter.com/k7hoven +