Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Klapaucius, Вы писали:
K>>Ну, вывод типов в Немерле локальный и не выводит наиболее общий тип. При таких условиях тип можно выводить и при наличии сабтайпинга и перегрузок.
VD>Это тут не причем. Перегрузки реально мешают. А вот вывод обобщенного типа или конкретного на сложность не влияет. В F# банально слабый алгоритм. Там используется не сильно модифицированный Хиндли-Милнер.
А почему алгоритм Хиндли-Милнера слабый? Я помню что там вариантность generic параметров не поддерживается, что-то еще, но это не такая большая цена за глобальный вывод типов. Мне кажется, что это просто такой tradeoff. В конечном счете, важнее всего читаемость кода, а в этом плане у F# все немного лучше чем у конкурентов, по крайней мене чисто субъективно, с моей колокольни.