Size: a a a

2020 October 02

I

Igor in fprog_spb
ОК, вот теперь понятно)
источник

Y

Yuuri in fprog_spb
Alexander Tchitchigin
Самый ad-hoc'ный ad-hoc — это method overriding, конечно. При наследовании. 😃
Мне казалось, что subtyping polymorphism отделяют от ad-hoc. Но это вопрос определений
источник

AT

Alexander Tchitchigi... in fprog_spb
Yuuri
Нет, мы хотим тайпклассы или трейты, как в Haskell/Scala/Rust
При наличии первоклассных модулей — не сильно критично, ИМХО...
источник

FN

Freyr Njordrson in fprog_spb
Yuuri
* Чего нетъ
– multicore 😕
– ad-hoc полиморфизм ☹️
– либы 😖
ad hoc есть, есть виртуальные методы
источник

Y

Yuuri in fprog_spb
Alexander Tchitchigin
При наличии первоклассных модулей — не сильно критично, ИМХО...
Каждый раз явно передавать словарь стрёмно =\
источник

Y

Yuuri in fprog_spb
Freyr Njordrson
ad hoc есть, есть виртуальные методы
См. выше про вопрос определений
источник

AT

Alexander Tchitchigi... in fprog_spb
Yuuri
Каждый раз явно передавать словарь стрёмно =\
Тоже слабенький аргумент, ИМХО. 🤷‍♀️
источник

Y

Yuuri in fprog_spb
Не помню откуда (Душкин? Википедия? Ещё какие-то книжки?), но я привыкла к определениям, что ad-hoc статический
источник

FN

Freyr Njordrson in fprog_spb
Yuuri
См. выше про вопрос определений
ну ad hoc в большинстве языков реализуется так, так что странные у вас определения
источник

Y

Yuuri in fprog_spb
Alexander Tchitchigin
Тоже слабенький аргумент, ИМХО. 🤷‍♀️
Аргумент против чего?
источник

Y

Yuuri in fprog_spb
> ну ad hoc в большинстве языков реализуется так
Поясните
источник

AT

Alexander Tchitchigi... in fprog_spb
Yuuri
Аргумент против чего?
Аргумент за тайпклассы при наличии первоклассных модулей.
источник

Y

Yuuri in fprog_spb
Перегрузка функций в C++ или Java и typeclass/trait-методы всё-таки не через виртуальные методы реализуются
источник

FN

Freyr Njordrson in fprog_spb
Yuuri
> ну ad hoc в большинстве языков реализуется так
Поясните
динамической диспетчеризацией по таблице методов объекта

что такое статический ad hoc?
источник

Y

Yuuri in fprog_spb
Alexander Tchitchigin
Аргумент за тайпклассы при наличии первоклассных модулей.
Ну ИМХО, всегда явно передавать в полиморфную функцию модуль, который однозначно определяется из типа «настоящего» аргумента – это как всегда явно указывать у значения тип, когда он легко может быть выведен
источник

FN

Freyr Njordrson in fprog_spb
Freyr Njordrson
динамической диспетчеризацией по таблице методов объекта

что такое статический ad hoc?
а, перегрузка функций
источник

Y

Yuuri in fprog_spb
Freyr Njordrson
динамической диспетчеризацией по таблице методов объекта

что такое статический ad hoc?
> что такое статический ad hoc?
ad-hoc, где реализация полиморфной функции выбирается при компиляции
источник

FN

Freyr Njordrson in fprog_spb
Yuuri
> что такое статический ad hoc?
ad-hoc, где реализация полиморфной функции выбирается при компиляции
в хаскиле разве есть такое?
источник

Y

Yuuri in fprog_spb
typeclass/trait-методы, наверное, можно считать частным случаем перегрузки, с ограничениями на тип перегружаемой функции
источник

Y

Yuuri in fprog_spb
Freyr Njordrson
в хаскиле разве есть такое?
В хаскиле show 1, show 3.14159 и show True задиспатчится при компиляции
источник