Dr. Friedrich
Для семейства типов MyList
Критерий
Dr. Friedrich
Критерий
ты можешь накрутить на него virtual
Dr. Friedrich
У меня написан метод, который работает для семейства типов `MyList`
Dr. Friedrich
Для любого типа с таким названием он будет работать
Критерий
но возвращаемый тип у тебя будет MyList
Doge
Для семейства типов MyList
Так нужен был метод, который работает для любого типа, который удовлетворяет требованием тот, чтобы с ним может было LINQ синтаксис использовать
Критерий
што
Dr. Friedrich
Критерий
возвращаемый тип селекта
Ayrat
Dr. Friedrich
Ayrat
Ну тоже есть можно иметь тайпклассы и не иметь хкт
Dr. Friedrich
Будет работать для любого типа, у которого есть метод Select
Критерий
Ayrat
Да, удобнее вместе, но необязательно
Dr. Friedrich
Правда, инстанцировать этот метод типом нужно в интересном виде
Dr. Friedrich
Но работает абсолютно для любых типов
Ayrat
где хкт?
Ну ты говоришь что надо писать то же самое для многих классов. Ну да надо
Ayrat
Но от этого функциональность тайпкласса не станет меньше
Nikolay
Развёл срач и убежал
Критерий
блджад. я не понимаю. есть метод void Foo(MyList x), в котором делается from .. in .. where .. select. как мне использовать его для нескольких разных типов?
Dr. Friedrich
И получить инстанциацию любым нужным типом
Nikolay
Мир, труд, класс
Dr. Friedrich
Dr. Friedrich
Dr. Friedrich
Который суть что угодно
Dr. Friedrich
Ну, с добавлением типа в сигнатуру действительно сложновато идёт, в том числе потому, что вы сопротивляетесь
Dr. Friedrich
Но не было требования чтоб типы были в сигнатуре
Dr. Friedrich
Было требование чтоб был полиморфный код, который с любым типом работает
Dr. Friedrich
(ну и, предположительно, чтоб его можно было инстанцировать с несколькими типами в одной программе)
Dr. Friedrich
Я сделал.
Dr. Friedrich
В сигнатуру с трудом такие трюки пролезают, но больше потому, что вы рили сопротивляетесь
Doge
Dr. Friedrich
Если б вас устроил MyList в сигнатуре, то всё было бы хорошо.
Dr. Friedrich
Dr. Friedrich
Его делает вызыватель.
Dr. Friedrich
Критерий
полиморфизм уровня /b/
Dr. Friedrich
Я тебе и на хаскеле щас скажу — сделай метод чтоб работал для любых классов с функцией foo. Ты сделаешь тайпкласс с этой функцией, а я скажу что просил метод но без тайпкласса
Doge
Критерий
> метод
> хаскел
> методы это функции классов
okay
Dr. Friedrich
Можно и посмешнее на локах чего-нибудь изобрести
Dr. Friedrich
Чтобы код по-разному работал в зависимости от того, в проект с какой реализацией Monitor.TryEnter его включили
Андрей
Doge
Мне кажется мы все же говорим про то, что можно в реальности unironically использовать.
Критерий
это не дактайпинг
Dr. Friedrich
В чём разница?
Критерий
номинативно вс структурно
Doge
Dr. Friedrich
Да, ок, поэтому я говорю «формализованный»
Dr. Friedrich
На самом-то деле нету разницы, вы ж понимаете?
Критерий
как формализация превращает структурную типизацию в номинативную?
Dr. Friedrich
Можно просто считать, что названия методов, которые имеет тайпкласс, специальным образом поманглены
Dr. Friedrich
И поэтому не совпадают в разных тайпклассах
Dr. Friedrich
Doge
Критерий
формализацию плз, с пэйпером :3
Dr. Friedrich
Опять меня послали нахер.
Критерий
ну там семантику..
Dr. Friedrich
Нет, спасибо, сам иди.
Критерий
Doge
Вот как я описал выше.
А тайпклассы - это номинативная хрень.
Ты не можешь её как дактайпинг использовать, потому что тебе надо объявлять, что данный тип имеет инстанс тайпкласса.
Вот если бы не надо было, то да это был бы дактайпинг
Dr. Friedrich
Dr. Friedrich
Dr. Friedrich
НЕМЕДЛЕННО
Dr. Friedrich
На каждое слово
Dr. Friedrich
По пейперу
Критерий
ща, пишу, падажжи
Dr. Friedrich
Но, если серьёзно, то я действительно не понял, в чём разница между тайпклассами и дактайпингом