
Sergey
07.12.2017
17:55:02
Только наверное для системы деплоя способ описывать эффекты - не самое главное
freer - да, перед сном почитать - отличная штука. Так несколько недель подряд, и будет казаться что понимаю.

Aragaer
07.12.2017
17:56:33
прикольная задача

Sergey
07.12.2017
17:56:36
На самом деле шутка, потому что есть толковая статьи, после которых оно даже понятнее чем Free

Google

Quet
07.12.2017
18:26:57
а кто что скажет про wreq? годно или есть чего получше?

Kirill
07.12.2017
18:29:37
API чуть красивше http-client, который внутри

Yuriy
07.12.2017
18:31:41
годно
для простых вещей хорошо подходит
для сложных всё равно возьмёшь servant-client

Quet
07.12.2017
18:32:54
и делать сервантом сервер под чужой апи чтобы потом получить для него клиента?

Alexander
07.12.2017
18:36:25
ну не то, чтобы сервер, но типами endpoint-ы описать придётся

Yuriy
07.12.2017
18:43:34
сервантом только описать ручки

Artem
07.12.2017
19:29:25

Sergey
07.12.2017
19:34:07
Просто хочется знать откуда это всё, как устроено.
Как раз эту статью перечитываю, что в этой либе упоминается http://okmij.org/ftp/Haskell/extensible/more.pdf
Один раз прочитал первую треть. Показалось что понял. На слудующий день смотришь - опять всё заново нужно разбираться. А хочется так, чтобы это легко было, прямо на кончиках пальцев, перед глазами. Поэтому и перечитываю.

Artem
07.12.2017
19:37:15

Google

Sergey
07.12.2017
19:37:56
так придёт время - будем и писать
Например, линзы. Чтоб их использовать, достаточно буквально пару функций запомнить.
Но ведь не узнаешь от этого как хитро они внутри устроены.

Евгений
07.12.2017
19:43:41

Alexander
07.12.2017
19:44:15
ну как-то так, должно побыстрее быть, в статье так вообще круто
но вроде медленно

Denis
07.12.2017
19:44:21

Sergey
07.12.2017
19:45:44
> Thanks to the Freer monad construction and the representation of the continuation as an efficient sequence structure, extensible effects have good performance even for relatively short monad stacks, and algorithmically better performance than monad transformers for longer stacks.

Alexander
07.12.2017
19:48:40
ну longer stacks все равно никто в своём уме не делает

Евгений
07.12.2017
19:56:25

Sergey
07.12.2017
19:59:10
а в purescript, оказывается, этот подход из коробки, по умолчанию.

A
07.12.2017
20:03:50
народ, вот такая вот странная проблема, клинит на io монадках, когда читаю - всё понятно, но как только надо что-то писать – проблемы, просто вся эта цепочка функций в голове не выстраивается
если работаю с чистыми функциями - всё ок, никаких проблем, как только где-то возник где-то тип с io, сразу возникает желание извлекать значение "руками" и работать с ним буд-то он уже чистый
у меня одного это в голове или что?
тупо время нужно?

Vasiliy
07.12.2017
20:04:58
а со State проблем нет?

A
07.12.2017
20:05:47
ну опять же только читал, логика ясна, но для своих задумок не использовал
не добрался

Vasiliy
07.12.2017
20:07:24
ну вот IO можно рассматривать как хитрый алиас для State RealWorld

Igor
07.12.2017
20:08:24

A
07.12.2017
20:08:45
что там справляться)

Google

A
07.12.2017
20:09:03
когда я писал про "извлечь" руками, то это и имелось ввиду

Igor
07.12.2017
20:09:44
ну, это и ок вполне.

A
07.12.2017
20:09:57
эм, мне показалось, что нет

illiatshurotshka❄️
07.12.2017
20:10:00
instance Comonad IO where
extract :: IO a -> a
extract = unsafePerformIO
duplicate :: IO a -> IO (IO a)
duplicate = pure
вот так

A
07.12.2017
20:10:39
хм, почему-то у меня в голове мысль, что этих извлечений нужно избегать

Igor
07.12.2017
20:10:49
а там уж как вам удобнее.
писать чистые функции — конечно лучше. их ещё и тестировать удобно.

ParkeT
07.12.2017
20:57:16
Это для IO, которая на самом деле читерство, так. Но монады ведь не про IO. :)

A64m
07.12.2017
21:13:26

A64m
07.12.2017
21:13:58
tl;dr не этот, не будет из коробки

Sergey
07.12.2017
21:16:24
ну хорошо хоть застали пока она была. Всё опыт какой-никакой

Евгений
07.12.2017
21:16:38
Насколько я понимаю в PureScript есть специальный кайнд Effect, а также конструктор кайндов для множества

Vasiliy
07.12.2017
21:25:50
а что там в идрисе? там же тоже Eff
правда, main таки IO ()

Alexander
07.12.2017
21:28:56
А чего там опять с Остином?

Google

A64m
07.12.2017
21:36:20

Alexander
07.12.2017
21:37:06
твитштормит

A64m
07.12.2017
21:37:11

Alexander
07.12.2017
21:37:24
про то что жалуюся SPJ и тот заставляет его баги фиксить

Leonid
07.12.2017
21:40:36
@qnikst дату посмотри
Это хвр некротвитит

Alexander
07.12.2017
21:40:57
ааа
ясно
а у хвр что?

Admin
ERROR: S client not available

A64m
07.12.2017
21:45:35
ну он же пишет про "неких индивидуумов" (он теперь не называет снойманитов по именам, как и они его некоторыеми индивидуумами называют), которые, видимо, давят на СПЖ чтоб хвр умерил пыл кабализма-инстализма
и против FTP тоже такое было

Pig
07.12.2017
22:16:30
> кабализм-инстализм
черт, почти каннибализм

A64m
07.12.2017
22:20:01
> почти
не все сразу, не все сразу
Ну вот, я не стал разбираться почему безскиповые стримы нормально не оптимизируются, хотя это обещали, а кто-то стал https://ghc.haskell.org/trac/ghc/ticket/13966
делать ничего не надо, кто-нибудь все равно сделает за тебя
не хештаблицы, конечно

Alexander
08.12.2017
10:36:20
а как найти liquid haskell под ghc-8.2.0?
у cabal-install ужасный UI если что-то несобирается - фиг поймешь почему
про --new

Google

A64m
08.12.2017
10:40:24
я только для 8.0 его собирал
они, правда анонсировали в твиттере, что 8.2 должен работать
может из ветки, правда

Alexander
08.12.2017
10:41:16
в гите 8.2.2 версия фиксирована
у меня просто на основе устаревшей версии ghc
а пытаться переносить на HEAD неохота

Leonid
08.12.2017
11:11:58
https://medium.com/@zw3rk/what-is-new-in-cross-compiling-haskell-56b9385ed93 найс

Hot
08.12.2017
12:12:32
А расскажите, если вдруг у кого опыт был - какого это, работать с REST API на Haskell? Я имею в виду клиентскую сторону, если что.

Aleksey
08.12.2017
12:21:45
На wreq делал клиенты. Удобно

Hot
08.12.2017
12:25:17
О, как раз кстати его вчера откопал и совсем чуть-чуть потестил.
Насколько позволяли мои познания Haskell )
А разбор JSON-отъектов от API wreq тоже на себя берёт через этот их asJSON?
Ещё я там видел поля, выцепляемые вроде бы линзами.

Yuriy
08.12.2017
12:39:57

Aragaer
08.12.2017
12:42:25
в смысле подпись?

Alexander
08.12.2017
12:45:53
чтобы смешно лыло
когда видишь co fix
чтобы в твиттер/инстаграмм/лицокнигу положить

melancholiac
08.12.2017
12:46:59
а в чем соль?