Re: Как скрестить ужа и ежа или статическую и утиные типизац
От: FR  
Дата: 17.01.07 12:41
Оценка: 1 (1)
Уточню интересно то, что он разделяет понятие типа и понятие класса. Это насколько я понимаю похоже на хаскелевские полиморфные типы, но отличается от них. Обычно в ООП языках понятие тип и класс эквивалентны (с небольшими вариациями вроде встроенных типов) здесь же предлагается новое понятие тип под которым понимается:

a "type" is an abstract set of method signatures

то есть тип это просто соответствие сигнатур методов класса определенному интерфейсу, утиная типизация остается нас ни кто ни обязывает наследоватся от этого интерфейса, но при этом вводится контроль от очень мягкого до жесткого статического.
На практике это дает к примеру такое, можно вводить обобщенные (и притом утиные) функции работающие только с определеными сущностями, например
def min(a: iterable(T)) -> T:
    .....
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.