
Leonid
06.07.2018
10:47:27
left-pad точно есть

Антон
06.07.2018
10:48:09
А, не то

Aleksey
06.07.2018
10:49:20
(&&) <$> ...

Google

Leonid
06.07.2018
10:49:52
надо через моноед All

Aleksey
06.07.2018
10:50:14
`elem` "0..9" вот и пригодился алиас String = [Char]!

Leonid
06.07.2018
10:50:36
ого, а чо так можно?

Антон
06.07.2018
10:50:51
Нет, конечно

Aleksey
06.07.2018
10:50:57
:)

Leonid
06.07.2018
10:51:05
['0'..'9']

Антон
06.07.2018
10:51:11

Aleksey
06.07.2018
10:51:14
`elem` "0123456789." во!

Leonid
06.07.2018
10:51:26
ну да

kana
06.07.2018
10:52:56
почти как в жс

shadowjack
06.07.2018
10:53:02
Все же flip elem или
`elem`
?

kana
06.07.2018
10:53:17
`elem` конечно

Google

Антон
06.07.2018
10:53:23

Aleksey
06.07.2018
10:53:43
`улем` инде

Антон
06.07.2018
10:53:44

shadowjack
06.07.2018
10:54:25
Ну это к теме обсуждения не относится

Aleksey
06.07.2018
10:54:33

Антон
06.07.2018
10:55:22

shadowjack
06.07.2018
10:57:19

kana
06.07.2018
10:57:38

Aleksey
06.07.2018
10:58:05
Не читаю чат дальше одного экрана! (иногда)
Можно readMaybe вообще использовать, но могут подсунуть 1e100 :)

Alexander
06.07.2018
11:59:58
https://github.com/phadej/idioms-plugins

Yuriy
06.07.2018
12:07:52

Alexander
06.07.2018
12:08:04
вроде да

Yuriy
06.07.2018
12:14:37
идея же вроде в том, чтобы m a и a автоматически определять?

Ilya
06.07.2018
12:17:18
а это idiom brackets из пейпера про аппликативы (которые они изначально идиомами назвали)
суть в том, чтобы писать ([f x y z]) вместо f <$> x <*> y <*> z
чтобы было максимально похоже на "чистую" версию

Denis
06.07.2018
12:20:43
Макбрайд творение

Google

Ilya
06.07.2018
12:20:53
угу

Yuriy
06.07.2018
12:20:57
чем это лучше liftAₙ? не надо число подбирать?

Ilya
06.07.2018
12:21:36
и у него в SHE они уже давно (правда не знаю, поддерживает ли он его еще)
Они в пейпере педалировали тему, что аппликативные вычисления не должны выглядеть как-то иначе, чем чистые, если я ничего не путаю

Alexander
06.07.2018
12:25:09
они же должны pure видеть?
и.е. не ([ foo a (pure b) ]) писать

Ilya
06.07.2018
12:26:46
насколько я понял, pure вставляется для чистых значений автоматом

Ilya
06.07.2018
12:29:18
как понять, m a это чистое или нет
может я хочу m (m a), тогда нужен pure

Ilya
06.07.2018
12:30:19
по типу функции?

Ilya
06.07.2018
12:31:24
мм.. что-то я фигню пишу, надо на тип всего выражения смотреть

A64m
06.07.2018
12:31:51
в идиом брекетс должно быть можно операторы использовать инфиксно

Ilya
06.07.2018
12:32:09
const тот же

Yuriy
06.07.2018
12:32:44

A64m
06.07.2018
12:33:05
ну и у макбрайда же еще куча синтаксиса для pure *> <* join

kana
06.07.2018
13:08:49
когда-нибудь lens установится

Leonid
06.07.2018
13:09:44
или нет

Google

shadowjack
06.07.2018
13:18:11
Какие вообще практические применения у applicative?

Ilya
06.07.2018
13:24:23
Любая монада -- аппликатив

Ilya
06.07.2018
13:25:27

Ilya
06.07.2018
13:25:52
Так что практические применения такие же, плюс ещё

shadowjack
06.07.2018
13:26:50
Я конечно имел в виду аппликативы не являющиеся монадами

Ilya
06.07.2018
13:27:42
Validation
http://hackage.haskell.org/package/validation

Ilya
06.07.2018
13:27:47
Const

Admin
ERROR: S client not available

Ilya
06.07.2018
13:28:18
ZipList уже упомянутый
Хотя я лично придерживаюсь точки зрения, что зиповать правильнее вектора, а вектор уже монада

Ilya
06.07.2018
13:30:38

Ilya
06.07.2018
13:30:40
Есть эффективная реализация парсерных комбинаторов, которые аппликатив, но не монада

Denis
06.07.2018
13:31:10

Ilya
06.07.2018
13:31:20
Там грамматика, правда, по моему LL(1)

Denis
06.07.2018
13:31:24
моноидальные парсера

Ilya
06.07.2018
13:31:55
Моноидальные -- это по моему несколько другое

Ilya
06.07.2018
13:31:57

Ilya
06.07.2018
13:32:08
Там были именно аппликативные
Но почему-то на хаккадже я не нашёл

Google

Ilya
06.07.2018
13:34:24

Ilya
06.07.2018
13:34:52
Чем вектор так отличается

Ilya
06.07.2018
13:35:38
А ссылку можно кстати?
https://github.com/aistrate/Articles/blob/master/Haskell/Deterministic,%20Error-Correcting%20Combinator%20Parsers%20(Swierstra,%20Duponcheel).pdf

A64m
06.07.2018
13:37:06

Ilya
06.07.2018
13:37:24
с листом f может пустой список вернуть

Denis
06.07.2018
13:38:22
@ilya_yanok это? http://hackage.haskell.org/package/applicative-parsec

Ilya
06.07.2018
13:40:18

Ilya
06.07.2018
13:40:44
да, сорри что не уточнил

Ilya
06.07.2018
13:40:59
Теперь понятно, спасибо

Ilya
06.07.2018
13:43:37

Yuriy
06.07.2018
13:53:14
https://hackage.haskell.org/package/regex-applicative

Ilya
06.07.2018
13:59:00

shadowjack
06.07.2018
13:59:35

Ilya
06.07.2018
13:59:46
Как чего, программ

Евгений
06.07.2018
13:59:47
Написания продукта
Ну, гм, хаскель быстрее только других языков для прочистки мозгов

Ilya
06.07.2018
14:00:10
Быстрое написание быстрых программ

Евгений
06.07.2018
14:00:24

shadowjack
06.07.2018
14:01:11