Anonymous
ㅤ
blkmrkt
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
Anonymous
еще -Werror включи
Alexander
Alexander
А в hasql не считая уродских хаддоков документация и исходники достаточные чтобы писать:
Alexander
SimpleX
А денег кто на разработку даст? 😂
SimpleX
Да и с гуи всё так же печально всё
SimpleX
Alexander
Ну я разобрался быстро, правда потом пошел на доки ругаться Никите
Alexander
Примеры кстати в репозитории были
SimpleX
Я вот не хочу лезть в код либы...
SimpleX
Это крайняя мера
SimpleX
Да даже у дилетантских либ на питоне есть доки
Alexander
Нет, у Никиты несколько свои представления о том как документация должны выглядеть
Alexander
В итоге он не пользуется фичами хаддока
Alexander
Например --^ не использует и параметры функции описывает в общем теле
Alexander
И использует их имена, которые в хаддок не попадают
Alexander
Вообще либы достаточно мелкая чтобы и по исходникам и примерам в репе за полчаса разобраться
Alexander
И если использовать то законтрибьютить патчи на доки
Alexander
Ну пол часа же
Alexander
Примеры там есть
Alexander
Единственное что за полчаса best practice не появится, но ее в документации писать сразу не обязательно
blkmrkt
blkmrkt
прямо на гитхабе человечески языком описаны подводные камни и как начать пользоваться
blkmrkt
а hackage открываешь, а там доки сломаны. ссылка на доки из hackage указывает в то же место где ты сейчас😂
blkmrkt
плюс смотрю в каждом хаскель пакете есть какой-нибудь travis.yml, но на деле ничего не тестируется
Anonymous
Quet
Anonymous
у ноджс огромная куча пакетов, но всего лишь единицы прилично написано
Quet
но все же к документации там не так раздолбайски относятся
Anonymous
толку от той документации, если в коде костыль на костыле и баг на баге
Quet
так говоришь как будто лично заглядывал в нодовский драйвер для постгреса
за костыли не отвечу, но оно работает. багов не видел
Anonymous
именно в тот драйвер нет, может он и хорош
blkmrkt
с чего начать, чтоб реализовать вот это для Хаскеля?
https://github.com/flitbit/diff
Anonymous
Anonymous
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
Anonymous
ну вот
Anonymous
ноешь, а даже не пробовал основное иде для хаскеля
Anonymous
(я хз, есть ли там такое)
Anonymous
blkmrkt
blkmrkt
даже висит мразь вместо того чтоб закрыться спокойно
Anonymous
там что-то еще для intellij вроде было
Anonymous
https://mail.haskell.org/pipermail/haskell-cafe/2014-October/116567.html
blkmrkt
ну Атом то же самое показывает
blkmrkt
hoogle годная вещь, оказывается можно искать все ф-ии по сигнатурам
Alexander
blkmrkt
blkmrkt
И по-человечески оформлен
Alexander
blkmrkt
Alexander
Можно для aeson руками мне как-то специальный дифф для json надо было
Alexander
Может код открыть можно, спрошу веяером