A64m
мне вроде понравилось без скобок писать, я эти констрейнотуплы недолюбливаю. но привычку уже трудно перебороть, руки сами вбивают констрейнотуплы
Ю ли я? 🤔
@catamorphism а у вас стайлгайд есть где-нибудь на посмотреть?
A64m
вообще мне не нравится вот эта вот культура аннотирования всего топлевельного полностью. лучше бы была культура частичного аннотирования там где надо
A64m
особенно сейчас когда куча сигнатур плохо читается, т.е. сложнее чем код
A64m
причем их и читать не надо, потому что это просто внутренняя машинерия библиотеки вылезает в сигнатуру.
Евгений
А в этих ваших недоide есть фича "нажал на кнопку и появляется аннотация"?
Евгений
Хотя бы топлевельная
Anatolii
гхц-мод вроде так умеет
Anatolii
а он работает с новыми компиляторами?
A64m
можно и тип какого-то куска кода посмотреть
A64m
это все работает не блестяще, конечно
A64m
а он работает с новыми компиляторами?
автор hie фактически поддерживает форки ghc-mod для новых версий
A64m
а последний релиз ghc-moda вроде для 8.0.2
Евгений
Но вообще в сабже тайп-инференс невыводим, поэтому работать нормально оно не может
A64m
да там не из-за инференса, он-то как раз лучше всего остального работает
A64m
там все время были проблемы чисто технические, вроде того что костыль не может от гхц получить констрейнты и выдает типы вроде a -> a -> a для (+)
Евгений
А чего просто не форкнуть ghc?
Евгений
И не влезть в кишки?
A64m
но это всего лет за 15 как-то победили
A64m
да это вообще адище будет
A64m
для этого в хаскеле просто нет достаточно тех кто тулингом занимается
A64m
просто сам гхц постепенно допиливают до большей дружественности для разработчка тулинга.
A64m
но последние лет пять это чуть ли не один человек все делает
A64m
ну плюс минус еще студент по гсоку
Denis
а меня не обламывает =>
меня тоже не обламывает, но немного сливается визуально с ->
Aleksei (astynax)
Aleksei (astynax)
Но у нас больше такого :( foo :: ( MonadFoo m, MonadBar m , MonadBaz m, MonadQux m ) => m a -> m () foo = ...
Aleksei (astynax)
Уродское единообразие (мне тодже не нравится, но такое уж соглашение)
A64m
удивительно, конечно, насколько сносный вид хаскельного кода можно испортить соглашением по форматированию.
Aleksei (astynax)
А мне не удивительно. Есть очень упоротые стили
A64m
от 2 до 8/10 единиц боли, где 10 у C++
Aleksei (astynax)
bla = '[ Foo , Bar , Baz ] от ащо такое фу
Denis
без соглашения - регулярные асимметричные микровзрывы пятой точки у членов одной команды
A64m
и с соглашением тоже
Aleksei (astynax)
С соглашением вырабатывается/тренируется терпимость.
Aleksei (astynax)
Сначала ругаешься (на стайл-чекер), потом привыкаешь (деформируешься).
A64m
терпимость ни к чему не вырабатывается, только ненависть и безумие накапливается
Denis
с соглашением хотя бы понятно почему микровзрывы
Denis
без него просто ощущение что тебя все ненавидят
Aleksei (astynax)
Профессиональное пригорание
A64m
а с соглашением ты как-бы вступаешь в заговор против себя и тоже себя ненавидишь вместе со всеми
Ю ли я? 🤔
Не все столь ригидны
Denis
без соглашений анархизм полный
Denis
сегодня код пишете как на душу ляжет, а завтра все подъезды обоссаны
Aleksei (astynax)
как больно
а что делать то?
кана
bla = '[ Foo , Bar , Baz ]
кана
висячая пунктуация почи
Aleksei (astynax)
некратный отступ - фу
кана
ну по висячей скорее ' должен быть слева
кана
типа bla = '[ Foo , Bar ]
Denis
некратный беее
кана
все лучше для глаз, чем x = '[ a , a , a ]
кана
первоцель форматирования - читаемость
Aleksei (astynax)
первоцель форматирования - не требовать большого времени на форматирование
кана
не слышал про такую первоцель никогда
кана
это же нелогично
Aleksei (astynax)
А "читаемость", это "предсказуемость" во многом и "единообразие" ещё
кана
люди тратили много времени на ФОРМАТИРОВАНИЕ, и поэтому ПРИДУМАЛИ ФОРМАТИРОВАНИЕ, чтобы не тратить много времени на ФОРМАТИРОВАНИЕ?
Denis
цели две: 1) не думать как читать “креативно” отформатированное 2) не думать как форматировать
кана
самоопределение
Aleksei (astynax)
Форматирование "чик-чик и в среднем неплохо" - ок. Форматирование "всего пятнадцать минут, зато как красиво" - сомнительно
Denis
у меня от вашего креативного форматирования РЕБЕЙЗЫ
кана
вот это читать попросту больно
кана
у вас что, реально такое в коде?
Aleksei (astynax)
да. Но твой вариант - ещё хуже
Denis
да, и у нас машинопроверяемый стиль, чтобы опрессировать вольных мыслителей
кана
в 2к15+ у всех машинопроверяемый стиль
Aleksei (astynax)
Красиво можно делать в хоббипроектах. В коллективных нужно как можно меньше простора для самовыражения оставлять. Хотя бы в плане форматирования
Aleksei (astynax)
в 2к15+ у всех машинопроверяемый стиль
То-то нам пришлось писать свой инструмент для этого.
кана
"оставить мало меньше простора" не значит выбрать самый ужасный вариант
Aleksei (astynax)
Это не самый ужасный вариант
кана
data X = A | B
Denis
"оставить мало меньше простора" не значит выбрать самый ужасный вариант
ты опоздал на обсуждение ужасности, оно было долгое, а потом всем надоело
кана
ладно ,это нормальный стиль .