Anonymous
видно же
blkmrkt
ниче так http://haskellformac.com
да мне не оч как-то
blkmrkt
скоро релиз GHC 8 кстати
blkmrkt
уже должен был быть
Anonymous
а под атом есть hlint?
blkmrkt
lint есть
Anonymous
hlint
Anonymous
который использует пакет cabal install hlint
Anonymous
у меня годная связка ghc-mod + hlint + language-haskell
Anonymous
но ghc-mod там немного баганый. может на атом перейду
Anonymous
https://atom.io/packages/linter-hlint
blkmrkt
https://atom.io/packages/linter-hlint
воу, настроил линтер, гораздо веселее стало
Anonymous
еще -Werror включи
Alexander
А в hasql не считая уродских хаддоков документация и исходники достаточные чтобы писать:
SimpleX
А денег кто на разработку даст? 😂
SimpleX
Да и с гуи всё так же печально всё
blkmrkt
Ну напишите уже, а то что-то из тех кому это надо делает ничего в этом направлении :)
Ну я только нуб в хаскеле, и если бы профи были немного попроще, тут была бы такая же прекрасная среда, как и в nodejs комьюнити 😂
SimpleX
А в hasql не считая уродских хаддоков документация и исходники достаточные чтобы писать:
Доки с минимальными примерами и описаниями функций нужны всегда
Alexander
Ну я разобрался быстро, правда потом пошел на доки ругаться Никите
Alexander
Примеры кстати в репозитории были
SimpleX
Я вот не хочу лезть в код либы...
SimpleX
Это крайняя мера
SimpleX
Да даже у дилетантских либ на питоне есть доки
blkmrkt
А в hasql не считая уродских хаддоков документация и исходники достаточные чтобы писать:
Вообще автогенерированные доки это ок, но конкретно хаддоки стараются делать вид что их писали с целью показать как пользоваться пакетом, а не как есть на самом деле: комментарии в коде в пару слов, чтоб обосновать хреновый нейминг ф-и
Alexander
Нет, у Никиты несколько свои представления о том как документация должны выглядеть
Alexander
В итоге он не пользуется фичами хаддока
Alexander
Например --^ не использует и параметры функции описывает в общем теле
Alexander
И использует их имена, которые в хаддок не попадают
Alexander
Вообще либы достаточно мелкая чтобы и по исходникам и примерам в репе за полчаса разобраться
Alexander
И если использовать то законтрибьютить патчи на доки
blkmrkt
И если использовать то законтрибьютить патчи на доки
ну чтоб законтрибьютить, нужно сначала с либой разобраться
Alexander
Ну пол часа же
Alexander
Примеры там есть
Alexander
Единственное что за полчаса best practice не появится, но ее в документации писать сразу не обязательно
blkmrkt
blkmrkt
прямо на гитхабе человечески языком описаны подводные камни и как начать пользоваться
blkmrkt
а hackage открываешь, а там доки сломаны. ссылка на доки из hackage указывает в то же место где ты сейчас😂
blkmrkt
плюс смотрю в каждом хаскель пакете есть какой-нибудь travis.yml, но на деле ничего не тестируется
Anonymous
у ноджс огромная куча пакетов, но всего лишь единицы прилично написано
Quet
но все же к документации там не так раздолбайски относятся
Anonymous
толку от той документации, если в коде костыль на костыле и баг на баге
Quet
так говоришь как будто лично заглядывал в нодовский драйвер для постгреса за костыли не отвечу, но оно работает. багов не видел
Anonymous
именно в тот драйвер нет, может он и хорош
blkmrkt
с чего начать, чтоб реализовать вот это для Хаскеля? https://github.com/flitbit/diff
blkmrkt
с чего начать, чтоб реализовать вот это для Хаскеля? https://github.com/flitbit/diff
В итоге хочу вот такую ф-ю, чтоб с типами Aeson работала: diff :: Object -> Object -> [Diff]
blkmrkt
да, он крутой
ток подсказал заменить ++ на mappend
blkmrkt
с реализации объектов)
такс, ну объекты мне дает Aeson, когда парсит текст
Anonymous
тогда с рекурсии
blkmrkt
то есть на выходе нужно создать массив изменений в таком виде: [{ kind: 'E', path: [ 'name' ], lhs: 'my object', rhs: 'updated object' }, { kind: 'E', path: [ 'details', 'with', 2 ], lhs: 'elements', rhs: 'more' }]
Anonymous
#atom
blkmrkt
ох. Data.Aeson.Types это HashMap, у которого есть метод difference
blkmrkt
А нельзя поставить брейкпоинт и посмотреть что находится в scope, какие типа откуда происходят?
blkmrkt
то есть в IDE увидеть это
blkmrkt
дело в том что интегрированный с Атомом ghc-mod не идет дальше конечной декларации, а было бы очень полезно сразу увидеть например такое: type Object = HashMap Text Value
Anonymous
blkmrkt
leksah не может?
надо попробовать
Anonymous
ну вот
Anonymous
ноешь, а даже не пробовал основное иде для хаскеля
Anonymous
(я хз, есть ли там такое)
Anonymous
blkmrkt
ноешь, а даже не пробовал основное иде для хаскеля
не спс, какой-то он неповоротливый и глючный
blkmrkt
даже висит мразь вместо того чтоб закрыться спокойно
Anonymous
там что-то еще для intellij вроде было
Anonymous
https://mail.haskell.org/pipermail/haskell-cafe/2014-October/116567.html
blkmrkt
ну Атом то же самое показывает
blkmrkt
hoogle годная вещь, оказывается можно искать все ф-ии по сигнатурам
Alexander
ну не знаю, сравни с постгрес либой для ноды https://github.com/vitaly-t/pg-promise
Куда там смотреть чтобы документацию там увидеть?
blkmrkt
И по-человечески оформлен
blkmrkt
Alexander
Можно для aeson руками мне как-то специальный дифф для json надо было
Alexander
Может код открыть можно, спрошу веяером