
blkmrkt
23.04.2016
09:04:56

Alexander
23.04.2016
09:15:45
Ну пол часа же
Примеры там есть
Единственное что за полчаса best practice не появится, но ее в документации писать сразу не обязательно

Google

blkmrkt
23.04.2016
09:28:13
прямо на гитхабе человечески языком описаны подводные камни и как начать пользоваться
а hackage открываешь, а там доки сломаны. ссылка на доки из hackage указывает в то же место где ты сейчас?
плюс смотрю в каждом хаскель пакете есть какой-нибудь travis.yml, но на деле ничего не тестируется

Vyacheslav
23.04.2016
10:54:42

Quet
23.04.2016
10:59:34

Vyacheslav
23.04.2016
11:00:40
у ноджс огромная куча пакетов, но всего лишь единицы прилично написано

Quet
23.04.2016
11:01:57
но все же к документации там не так раздолбайски относятся

Vyacheslav
23.04.2016
11:02:49
толку от той документации, если в коде костыль на костыле и баг на баге

Quet
23.04.2016
11:03:59
так говоришь как будто лично заглядывал в нодовский драйвер для постгреса
за костыли не отвечу, но оно работает. багов не видел

Vyacheslav
23.04.2016
11:06:22
именно в тот драйвер нет, может он и хорош

blkmrkt
23.04.2016
11:36:03
с чего начать, чтоб реализовать вот это для Хаскеля?
https://github.com/flitbit/diff

Google

trump ? trump ? hillary
23.04.2016
11:40:39

blkmrkt
23.04.2016
11:41:13

trump ? trump ? hillary
23.04.2016
11:41:24

blkmrkt
23.04.2016
11:41:53

trump ? trump ? hillary
23.04.2016
11:42:48
тогда с рекурсии

blkmrkt
23.04.2016
11:42:49
то есть на выходе нужно создать массив изменений в таком виде:
[{ kind: 'E',
path: [ 'name' ],
lhs: 'my object',
rhs: 'updated object' },
{ kind: 'E',
path: [ 'details', 'with', 2 ],
lhs: 'elements',
rhs: 'more' }]

[Anonymous]
23.04.2016
11:46:02
#atom

blkmrkt
23.04.2016
12:00:06
ох. Data.Aeson.Types это HashMap, у которого есть метод difference
А нельзя поставить брейкпоинт и посмотреть что находится в scope, какие типа откуда происходят?
то есть в IDE увидеть это
дело в том что интегрированный с Атомом ghc-mod не идет дальше конечной декларации, а было бы очень полезно сразу увидеть например такое:
type Object = HashMap Text Value

trump ? trump ? hillary
23.04.2016
12:05:33

blkmrkt
23.04.2016
12:05:44

trump ? trump ? hillary
23.04.2016
12:05:49
ну вот
ноешь, а даже не пробовал основное иде для хаскеля
(я хз, есть ли там такое)

blkmrkt
23.04.2016
12:12:20
даже висит мразь вместо того чтоб закрыться спокойно

trump ? trump ? hillary
23.04.2016
12:12:46
там что-то еще для intellij вроде было
https://mail.haskell.org/pipermail/haskell-cafe/2014-October/116567.html

Google

blkmrkt
23.04.2016
12:13:04
ну Атом то же самое показывает
hoogle годная вещь, оказывается можно искать все ф-ии по сигнатурам

Alexander
23.04.2016
13:09:43

blkmrkt
23.04.2016
13:10:22
И по-человечески оформлен

Alexander
23.04.2016
13:10:47

blkmrkt
23.04.2016
13:11:10

Alexander
23.04.2016
13:11:58
Можно для aeson руками мне как-то специальный дифф для json надо было
Может код открыть можно, спрошу веяером

blkmrkt
23.04.2016
13:20:24

[Anonymous]
23.04.2016
13:43:02

Pavel ?
23.04.2016
14:05:54
@jslang

blkmrkt
23.04.2016
14:25:29
Взять пакет gdiff
хмм, тут похоже из коробки работают лишь predefined типы, и мне кажется что с арбитрарными жсон объектами оно не будет работать

Alexander
23.04.2016
15:14:00
Там естл те что Generic
Его можно для всего задерайвить
Может какой-то соседний пакет, их несколько было
@blkmrkt так про мой код, там было aeson-специфично, у тебя общая задача :/
Блин не вижу, пакета, который хотел показать, вот отстой попробую еще поискать

blkmrkt
24.04.2016
04:52:02

Google

Alexander
24.04.2016
07:04:44
А ок, в общем я спросил, посмотрим как ответят
Есть aeson-diff но не помню чем он мне не понравился
Вроде тем что внутри векторов не 3 way difd
Diff

Aldar
24.04.2016
15:23:28
чтобы код вставить что надо?
test
test
instance Applicative [] where
{-# INLINE pure #-}
pure x = [x]
{-# INLINE (<*>) #-}
fs <*> xs = [f x | f <- fs, x <- xs]
это что же получается, аппликатив списка определён через генераторы списка, которые реализованы через монаду списка?

Alexander
24.04.2016
16:28:31
https://www.haskell.org/onlinereport/exps.html#sect3.11
Не вижу ни одного bind в translation rules ;)
Но concatMap конечно есть
А вообще ничего страшного, там вполне могло `ap` быть, которое из Monad
Если тип имеет инстанс monad то applicative и functor можно через monad определять, это может быть менее эффективно, но вполне верно

Aldar
24.04.2016
16:38:21
Мне чувак один сказал что так сложилось исторически, типа сначала определили генераторы списков через монаду
а потом уже аппликатив через генераторы выразили

blkmrkt
25.04.2016
10:48:12
Помогите, откуда тут берется v? https://github.com/vincenthz/hs-connection/blob/master/Network/Connection.hs#L150

[Anonymous]
25.04.2016
10:48:41
Ему не помогать - он ругается

blkmrkt
25.04.2016
10:48:48
ээ

Google

[Anonymous]
25.04.2016
10:49:01
?

blkmrkt
25.04.2016
10:49:15
нужно лишь называть параметры своими именами, и все будет ок же
а все :D

[Anonymous]
25.04.2016
10:49:32
Он назвал - V это Vendetta же

blkmrkt
25.04.2016
10:49:39
разобрася

Peter
25.04.2016
15:37:07
никто не знает как скомпилить из линукса под винду?
я музыку слушаю, че там, пацаны?

Фԉùཎыч⚠️
25.04.2016
15:38:30
В манах всё есть.

[Anonymous]
25.04.2016
15:38:34

Peter
25.04.2016
15:38:36
а, спасибо

Фԉùཎыч⚠️
25.04.2016
15:38:53

Peter
25.04.2016
15:39:06
только там вроде в вайн посылают
в манах

[Anonymous]
25.04.2016
15:39:24
Естественно вайном можно как-то

Peter
25.04.2016
15:41:04
походу го единственный из яп, у кого кросскомпиляция сделана человечно

Vyacheslav
25.04.2016
15:54:48
а зачем тебе винда?