Aleksei (astynax)
lpcstrzWindowTitle и прочие hwndpnWindowParamName
Слава
Aleksei (astynax)
тоже практики писали
Alexander
Конечно
мне кажется весьма редкий кейс когда это возможно
Alexander
я ничего кроме сужение констреинта на уровне типов придумать не могу
Alexander
ну перестановка аргументов местами очевидно в любом случае делается без правки кишок
A64m
> по аналогии с называнием f functor надо называть
a - funcab
где аналогия то?
ну инстанс функтора это функция, которую некий демон-передавальщик-функций передает в функцию у которой в сигнатуре есть Functor f и которую мы можем там применить к f.
Func a b - это функция, которую мы передаем в функцию у которой в сигнатуре есть Func a b и которую мы можем там применить к a
вроде с аналогией все в порядке, нет?
Aleksei (astynax)
Aleksei (astynax)
Когда куча вложенных вызовов и у чего-то в глубине констреинты поменялись и всплывают по всему стеку
Alexander
A64m
программист его написал
Alexander
Aleksei (astynax)
Везде иметь всегда полный набор констреинтов?
Aleksei (astynax)
Нет уж
Aleksei (astynax)
Гранулярность - наше всё
Alexander
программист его написал
в любом случае, когда я вижу "инстанс функтора это функция" после прямого вопроса "или ты про то что функтор это преобразование а не его результат?" мне кажется что мой собеседник занимается демагогией
A64m
вот, кстати, вопрос. есть у нас класс Foo a b
что нам надо называть foo? а? или b?
Alexander
ничего не могу с собой поделать
Alexander
Alexander
A64m
foo
так надо a назвать foo или b назвать foo? который из них, по вашему foo?
Aleksei (astynax)
> только констреинты по всему стэку должны были быть самодостаточными
что это значает? Что констреинты должны быть минимальными? Или максимальными, чтобы потом не менять никогда?
A64m
он не работает потому что он неправильный
Alexander
Alexander
не, понятно что какой то магии нет и сигнатуры идеально продумать сразу невозможно
Alexander
я скорее о том что если эта задача занимает хотя бы 1% времени то что то идет не так
Aleksei (astynax)
Мы постоянно жонглируем mtl-like констреинтами и прочими ридерами. Вот прямо каждый день по десять раз. Потому что практика. Накакого "заранее продумать" вообще - требования меняются быстрее, чем успеваешь имплементить.
Alexander
A64m
и поэтому в том числе
Alexander
Alexander
и поэтому в том числе
возвращаясь к вопросу демагогии не могу не заметить, что это логика на сепульках какая то
A64m
если речь о том, что вы тут где-то увидали замкнутый круг то тут его нет, мы не доказываем "не работает" из "неправильно", то что не работает мы установили из опыта выше
A64m
мы разве что могли обоснованно предположить, что неправильное работатать не будет, ну так и вышло
Евгений
Cheese
нет, не странно
Ю ли я? 🤔
Угу. Странно называть мороженое мороженым, а больного больным.
Евгений
Это пахнет хамским панибратским отношений. Типа, "эй, четырёхглазый"
Cheese
Aliester
не брат ты мне, эндофунктор монадный
Cheese
"эй, лысый" — более правильная аналогия
Aliester
хаскелист это свойство?
Ю ли я? 🤔
Ну божечки, ломали же тут уже копья на эту тему.
Cheese
Ю ли я? 🤔
Евгений
Aliester
mental condition
Vladimir
Объект, написавший больше 10К строк на хаскиле?
Ю ли я? 🤔
как IO может не быть монадой? чушь какая-то. мы же говорим «числа являются группой по сложению»
Ю ли я? 🤔
Поэтому я совершенно не понимаю, как можно сказать сначала "IO - не монада", а потом дополнить это "IO - экземпляр Monad"
Ю ли я? 🤔
ну окей, я утрировал конечно, просто хотел сказать что когда пытаешься объяснить что-то человеку малознакомому с хаскелем и всей этой вашей функциональщиной, нужно строго отделять свойства той же IO от того что она является монадой (реализует Monad, как угодно)
Ю ли я? 🤔
Масло - оно не масляное, а вот если помазать его маслом - тогда да, оно будет масляное
Ю ли я? 🤔
IO не монада, а вот IO и еще две (минимум) операции с кое-какими свойствами - да, монада
Ю ли я? 🤔
если представить что монада это прилагательное, то все внезапно становится на свои места
Ю ли я? 🤔
"IO - это как бы монада, но вообще-то она не монада, а экземпляр Monad, хотя, строго говоря, она вообще не обязана быть монадой" - вот представьте, что новичок такое прочтёт... 😂
Ю ли я? 🤔
(надергано из контекста)
A64m
нет, не странно
нестранно для оопешника, ведь в ооп всюду отношения подтипирования, для человека не отравленного всем этим это странно. Ни мама, ни рама не являются мытьем
A64m
Cheese
A64m
ну т.е. и мама и рама на самом деле это мытье?
Aliester
мытье это стрелка
Cheese
A64m
о чем и речь
Cheese
речь о том, что вы непонятные примеры приводите в поддержку вашего непонятного тезиса
A64m
мама может мыть раму, но отношения подтипирования между мытьем и мамой, мытьем и рамой нету
Cheese
как это мешает мороженому быть мороженым?
A64m
мороженому никто не мешает быть мороженым
Cheese
в естественном языке мы говорим "это мороженое" и в значении "принадлежит", и в значении "является", выбирая значение по контексту
Cheese
точнее, даже "является" в значении "принадлежит"
Cheese
конкретный багет хлеба является багетом, даже не являясь понятием "багет"
A64m
Евгений
При чём такая игра, на уровне Протогора
Cheese
A64m
но возможность есть мороженое не является мороженым