как-то нелепо (хотя мб я не шарю), ведь в динамических ЯП нет гарантий никаких.
Хотя наверное defprotocol и behaviours в некоторой степени про это?..
В динамически типизированных ЯП. Все функции полиморфны по определению :)
Полиморфизм это по определению "разное поведение функции для разных типов аргументов". В динамически типизированных языках это означает просто разделение интерфейса и имплементации. В эликсире это протоколы.
Ну да, то есть это понятие не имеет никакой полезной нагрузки.
Валим еще про field-based полиморфизм говорит. Который вот у структур работает быстрее.
def f(x) when is_integer(x) ?
в рантайме же обвалится, не?
У рекордов такого просто нет :/
На самом деле можно сделать, но возможно будет медленнее.
Обвалится в рантайме, но функция всё равно не полиморфна
Тут уже вопрос в терминологии. По мне если падает в рантайме, то полиморфна.
Обсуждают сегодня