Ignat
Ньютайпы и в хачкеле есть, это не очень удобно
Сережа
#define true false
Ignat
Должен быть способ указать
Ignat
В скале для этого неявные параметры
Vladimir
ну заводи явный параметр
Сережа
Паттерн проектирования декоратор
Ignat
Кайф
Vladimir
еще б неявные параметры тут блин привезли, такого говна еще не было
Сережа
Решает твою проблему, в Джаве все придумали
Ignat
Спасибо конечно
պլհկ
рады помочь
Сережа
Не за что, почитай Ганг оф фор, паттерны проектирования
Vladimir
видимо джава лучше раста
Ignat
Нет, речь о том, что хочется более удобного решения
Vladimir
его нет
Vladimir
вон тебе перечислили всё возможное.
Нью тайпы/определять типаж с инпат параметром
Ignat
значит, в этом отношении руст хорош/плох ровно настолько же, насколько и хачкель
Ignat
A64m
а в расте ньютайпы есть?
Vladimir
нету
Сережа
В расте много базвордов
Anonymous
Anonymous
из хаскеля-то только трейты были взяты
Ignat
ну в явном виде, наверное, да
Ignat
но влияние-то на умы разработчиков оказано колоссальное!!1
A64m
сомнительно
Евгений
Разработики руста упоротые ml'исиы
Ignat
Ignat
может, и абстракции вообще не нужны, раз непонятно, во что оно развернётся уровнем ниже?
Евгений
Эм, наличие абстракции не тождественно непонятности её развертывания
Ignat
ну в смысле уровнем ниже может быть много что, как правило
Ignat
иначе непонятен смысл абстракции
Vladimir
абстракция нужна, чтобы переиспользовать код
Vladimir
а не для того чтобы было непонятно во что развернется
Vladimir
ты со своим хаскелем вообще поехавший наверное
Ignat
офк
Ignat
ладно, давай по-другому
Евгений
ну в смысле уровнем ниже может быть много что, как правило
Непонятность может возникнуть только из "динамичности", т.е. когда работа какой-то подсистемы сильно зависит от контекста. Например в случае gc его киллер-фича в том, что мы можем воспользоваться информацией о том как часто вызывается какой-то кусок кода и очищать/не очищать исходя из этого памятт
Ignat
ведь бремя доказательства лежит на утверждающем, а не наоборот
Ignat
Vladimir
почему?
Да боже мой, это общий постулат, есть и обратный ему, и у того и у другого есть плюсы и недостатки
Ignat
то есть в твоей логике одновременно явное лучше неявного и неявное лучше явного?
Vladimir
Для разных случаев да
Vladimir
Потому что не все так просто, хаскеле воин
Евгений
Ignat
ну не я цитирую петухон-догмы
Ignat
в которых неявная квантификация всеобщности
Ignat
и фраза «явное иногда бывает лучше неявного» никак не отвечает на вопрос о том, чем плохи неявные параметры
Vladimir
А чем они хороши?
Vladimir
Я их в глаза не видел
Vladimir
Сорян
Сережа
Тем что о них надо всегда явно помнить?
Ignat
тем, что через них выражаются:
— трейты в рустовом смысле, которые при этом могут быть именованными и соответственно иметь несколько реализаций
— экстеншон-методы
— депенденси инжекшон
Ignat
возможно, что-то ещё
Ignat
компилятор даст по рукам, если что-то не так, как и со всем остальным
Vladimir
Т.е. по твоему, то что в отрыве от контекста строку будет сложнее распознать, это норма?
Сережа
Если трейту требуется несколько реализаций это протекающая абстракция
Ignat
ну с концепцией аппликативных функторов ты, скорее всего, незнаком
Ignat
в контексте руста мне сложно, к сожалению, придумать пример сложнее, чем с вектором, в который можно по-разному писать
Сережа
Это когда из функции с 2 аргументами делают функцию с 1 что ли?
Ignat
нет
Vladimir
Сережа
Тогда это не нужно
Ignat
но, казалось бы, вполне даёт понимание того, что для одного типа бывает несколько разумных реализаций одного и того же трейта
Сережа
Ты мне ещё про ваши моноиды расскажи
Ignat
> наши
Ignat
мб и числа хачкелисты придумали?
Vladimir
Ignat
я так и не понял, ньютайпы в расте есть или всё-таки нет?
Vladimir
Есть конечно
Сережа
Ты объясни что такое ньютайпы
Vladimir
Структуры ж есть
Vladimir
А что такое Нью тайп?
Сережа
Это структуру объявить?
Vladimir
Структура с одним полем