Dr. Friedrich
Ayrat
Dr. Friedrich
Но просто как-то не приходило в голову наследовать.
Dr. Friedrich
Но, может быть, оно и есть.
Dr. Friedrich
Можно же и интерфейсы объявлять на билдерах, так?
Dr. Friedrich
И даже писать генерик код, который будет работать для любого билдера, удовлетворяющего интерфейсу.
Dr. Friedrich
Правда?
Ayrat
Ayrat
Dr. Friedrich
Ну вот тебе, бабушка, и монадический трансформатор!
Shub
Dr. Friedrich
Dr. Friedrich
https://alpacaaa.net/thoughts-on-haskell-2020/ о, смотрите, там DI по-хаскельному делают
Vladislav
Vladislav
Doge
И?
Так более мне нормальный набор расширений. Хаскель без расширений - деньги на ветер
Dr. Friedrich
Dr. Friedrich
Вот чонить из этого перегруженные функции заменит мне?
Dr. Friedrich
Вроде можно было геттеры у дата классов перегружать
Dr. Friedrich
А про норм функции я не припомню.
Dr. Friedrich
Dr. Friedrich
Сперва рассказывают, какой клёвый супер абстрактный язык без бойлерплейта
Dr. Friedrich
А потом он весь переполнен бойлерплейтом!
Dr. Friedrich
Буду негодовать, покуда не сделают.
Dr. Friedrich
OverloadedStrings не хватает, кстати
Dr. Friedrich
Вот это точно Ъ полезное расширение
Dr. Friedrich
Впрочем, полезное оно скорее потому, что дефолтовое поведение Ъ бесполезно сделано :)
Dr. Friedrich
Заметили, да? Перегрузка — хорошо!
Диёр
Диёр
серотонина больше становится
Диёр
в этом весь смысл связки: пьёшь седативные чтоб в окно не вышел и серотонин повышаешь чтобы после отмены седативных не захотелось выйти в окно
Диёр
а потом психотерапию назначают когда с тобой уже можно работать
Dr. Friedrich
Dr. Friedrich
Получается, что моя возможность объявить перегрузочку ещё вот туточки зависит от какого-то хрена с горы, который объявил тайпкласс
Dr. Friedrich
К тому же, кажется, это целое объявление инстанса тайпкласса на каждую перегрузку?
Dr. Friedrich
Для меня это звучит значительно более фундаментально, чем я себе представляю, когда говорю «перегрузка функции».
Dr. Friedrich
Ну то есть я не утверждаю, что язык плохой или что-то в этом роде, нет
Dr. Friedrich
Просто, гмгм, неудобно
Dr. Friedrich
Да и самим разрабам неудобно
Dr. Friedrich
Поэтому они придумывают всякие смешные сокращения типа forM_
Dr. Friedrich
Вроде там подчёркивание тоже что-то значит, типа, это перегрузка для IO (), ага?
Doge
Просто, гмгм, неудобно
Как-то не замечал неудобств в хаскеле именно вокруг этого момента.
Не критичная вещь. Проблема с рекордами там куда хуже
Dr. Friedrich
Dr. Friedrich
Вот с выводом всякого по возвращаемым типам там же вообще прекрасно, без шуток
Dr. Friedrich
Ну, типа 1 это не Int, а чёрт знает что
Dr. Friedrich
Number?
Dr. Friedrich
И оно потом норм умеет выбирать, к какому типу его скастовать в зависимости от того, в какие функции я его передаю
Dr. Friedrich
Но на самом деле меня в хаскеле супер бесит trace
Dr. Friedrich
Чтобы чот потрейсить, приходится сильно переписывать код
Dr. Friedrich
И он выглядит ущербно
Dr. Friedrich
А потом, чтобы убрать трейсинг, приходится его переписывать обратно!
Dr. Friedrich
Это прям так больно и неудобно что срам
Doge
Dr. Friedrich
Каждый раз очень много времени трачу на то, чтобы добавлять/убирать трейсы в разных местах программы, могли бы и поудобнее сделать :(
Dr. Friedrich
Dr. Friedrich
Не понимаю.
Dr. Friedrich
Брейкпоинт как поставить? И приаттачиться?
Dr. Friedrich
Или можно как-то прям под дебагом запустить прогу? Тогда только брейкпоинт расскажите!
Dr. Friedrich
Окей, супер!
Dr. Friedrich
А гуй есть к нему? Ну хоть какой
Dr. Friedrich
Я понимаю, что нормального, скорее всего, нету
Dr. Friedrich
https://github.com/rikvdkleij/intellij-haskell/issues/105 вот сюда надо прикрутить им
Dr. Friedrich
И тогда прям ваще заживём
Dr. Friedrich
intellij-haskell в принципе, вот вообще, с жуткими матюгами, но юзабельно
Dr. Friedrich
Dr. Friedrich
У них там есть какая-то переменная для таймаута ghci
Dr. Friedrich
И мне приходилось её тюнить и ставить на пять часов вместо пяти минут