Re[35]: «Собаку съел»
От: samius Япония http://sams-tricks.blogspot.com
Дата: 17.02.17 14:40
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, samius, Вы писали:


V>>>Без поддержки перегрузки ф-ий не бывает ad hoc.

S>>приведение — ad hoc.

V>Приведение чего куда?

Приведение типа значения к типу аргумента функции.


V>>>Рядом уже показал в общей классификации систем типов, что "полиморфизмом" называют лишь "зависимые ф-ии" и ничего более.

S>>Одна мономорфная функция + аргументы разного типа — уже полиморфизм.

V>Противоречишь сам себе.

V>Полиморфизм — это возможность подавать аргументы разного типа на одну и ту же ф-ию.
ИИИИ?
double Foo(double x)
{
    return x;
}

// На одну и ту же ф-ию
Foo(42); // подали int
Foo(42f); // подали float;

Полиморфизм! Где противоречие?


V>>>Зависимые ф-ии умеют оперировать над аргументами разных типов.

V>>>В случае ad hoc полиморфизма в языке должна присутствовать принципиальная возможность определять разные версии одной и той же ф-ии для разных типов аргументов (или групп типов).
S>>Или вызывать одну и ту же функцию с разными типами.

V>Это и есть определение "полиморфизма". Не ad hoc и не параметрического, а как такового.

Я про пример вызова мономорфной функции с разными типами. По Стрэчи это ad-hoc, тк. работает для ограниченного множества типов и требует специального кода для приведения.

S>>>>А классификация (по Стрэчи) предыдущим разделом. Там же указано что ограничение типа аргумента классом типа — есть ad-hoc.

V>>>Это ошибка. Или самого Стрэчи или ты вырвал пример из контекста.
S>>Это классификация самого Стрэчи.

V>Можно целиком?

Можно, но не нужно сюда целиком раздел копировать.

V>Потому что есть вероятность, что будет как с тем отрывком из Хаскель-вики.

Я думаю что она стремится к 1.

S>>Поэтому вряд ли ты можешь ему указывать на ошибку в предложении называть зеленое зеленым.


V>И опять ты торопишься.

V>Если ты не правильно понял — я тебе покажу это.
Где-то месяц уже пытаешься

V>Если Стрэчи ошибается — я тоже легко это покажу.

Наверное, так же легко.

V>А вот эти вещи насчет "зеленого" давай оставим, плиз.

хорошо. Но если бы ты дал определение, а потом спустя 50 лет чел бы сказал что ты не прав, так не приведя альтернативного, то как бы ты отнесся к тому что ты бы стал не прав?

S>>А вот из контекста я мог вырвать. Но найди мне источник, где бы говорилось что ограничение типа аргумента классом типа — есть не ad-hoc, а параметрический.


V>ИМХО, ты всё еще пытаешься жульничать, хотя я уже несколько раз на это отвечал:

V>единичная ф-ия с аргументом конкретного типа или класса типов — это не есть признак ad hoc, но это и не есть признак отсутствия ad hoc.
Жаль, количество твоих ответов не переходит в качество.

V>И сколько раз мне еще надо повторить, что признаком ad hoc является наличие более одной "версии тела" одной и той же ф-ии?

Сколько угодно, пока ты не убедишь, что твоя классификация лучше чем у Стрэчи. Пока ни одного аргумента не было.

V>Ну это просто механика такая (одна из механик) реализации полиморфизма.

Да, одна из.

V>И сколько раз мне надо повторять, что признаком параметрического полиморфизма является возможность подавать на одну и ту же "версию тела" аргументы разных типов?

То же самое. Приведи классификацию, где это будет верно. А то получается что ad-hoc через приведение типа — это уже параметрический.

V>>>Потому что с т.з. лямбда-исчисления, у нас есть только ф-ии с одним аргументом.

S>>Вообще не понятно, причем тут число аргументов.

V>При том, что же следует считать "одной и той же ф-ией"?

V>Т.е. "что такое полиморфизм"?

V>Например, если разрешается перегрузка ф-ий по кол-ву аргументов, то ф-ии с разным кол-вом аргументов уже сложно считать "одной и той же ф-ией".

Хорошее замечание. Годится. Серьезно.

V>Именно поэтому лямбда-исчисление называет ф-ией такую ф-ию, у которой строго один аргумент. А все остальные варианты (кроме 0-ля аргументов) в рамках этого исчисления сначала приводятся к варианту с 1-м аргументом, а потом уже идут остальные рассуждения.

Давай рассуждать о функциях с одним аргументом — кортежем. Если так будет проще рассуждать. Но я не замечал что кто-то из нас (с тобой) пытается соскочить за счет числа аргументов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.