
Дмитрий
12.09.2017
13:26:47
Ну пусть говорит
А я описал

andretshurotshka?❄️кде
12.09.2017
13:27:11
лол

Ҫѐҏӗѫӑ
12.09.2017
13:27:25
@xgrommx тебя кстати Gerard Sans добрым словом вспоминал за доки по rx

Google

? animufag ?
12.09.2017
13:28:12

Дмитрий
12.09.2017
13:28:43

illiatshurotshka❄️
12.09.2017
13:28:52

Дмитрий
12.09.2017
13:28:57
Иии

illiatshurotshka❄️
12.09.2017
13:29:03
хуи

? animufag ?
12.09.2017
13:29:11
ахах

Kelin
12.09.2017
13:29:31
хуи определяющий фактор

Дмитрий
12.09.2017
13:29:38
хуи
Ты какой-то нервный, ето всё из-за раста

illiatshurotshka❄️
12.09.2017
13:29:56
ну я видел что одно из определений это join + return

Дмитрий
12.09.2017
13:30:02
Мб

? animufag ?
12.09.2017
13:30:29
ну в скале монада с флатмапом, в хаскеле с биндом
одно через с другое выражается

illiatshurotshka❄️
12.09.2017
13:30:41
флатмап это бинд

Google

Kelin
12.09.2017
13:30:47
так в итоге

? animufag ?
12.09.2017
13:30:57
оу

Kelin
12.09.2017
13:31:01
может кто-то сказать, что такое монада без сопутствтующих терминов?

? animufag ?
12.09.2017
13:31:09
тогда флатен нужен минимально?

illiatshurotshka❄️
12.09.2017
13:31:22

Ilya
12.09.2017
13:31:46
Here we go again.

Kelin
12.09.2017
13:31:53
сука.

illiatshurotshka❄️
12.09.2017
13:32:12
бля ну тебе нужно знать что такое адт

Дмитрий
12.09.2017
13:32:14

Aleh
12.09.2017
13:32:53

? animufag ?
12.09.2017
13:33:14

Aleh
12.09.2017
13:33:15
работать с которыми можно через map/chain
ну да, это не какое-то супер важное понятие, просто в хаскелле решили эффекты сделать так
могли сделать и не так

Дмитрий
12.09.2017
13:34:03
А как, кстати?

illiatshurotshka❄️
12.09.2017
13:34:07

Ilya
12.09.2017
13:34:13
Короче, монада - буррито.

Kelin
12.09.2017
13:34:19

? animufag ?
12.09.2017
13:34:24
раньше просто хаскелл был чистый

illiatshurotshka❄️
12.09.2017
13:34:28

Google

illiatshurotshka❄️
12.09.2017
13:34:31
знаешь?

? animufag ?
12.09.2017
13:34:32
принимал строку возвращал строку

Kelin
12.09.2017
13:34:32

illiatshurotshka❄️
12.09.2017
13:34:34
вот

Aleh
12.09.2017
13:34:39
А как, кстати?
я видел какой-то язык как хаскель, только там линейные типы
и все через них

Дмитрий
12.09.2017
13:34:45
??

? animufag ?
12.09.2017
13:34:48
ну и наверное unsafePerformIO

Aleh
12.09.2017
13:34:52
щас поищу

Дмитрий
12.09.2017
13:35:04
Просто fluture так же пользуется концепцией монады

illiatshurotshka❄️
12.09.2017
13:35:07
структура которая хранит какой-то тип данных это контейнер
например массив хранит тип T

Aleh
12.09.2017
13:35:21
ну вот можно тут читануть http://ru-lambda.livejournal.com/131849.html

Дмитрий
12.09.2017
13:35:26
И я вот пока не оч представляю как это выразить иначе

? animufag ?
12.09.2017
13:35:27

Ilya
12.09.2017
13:35:56
Дайте шурочке проговориться уже, даже мне стало интересно что он там загоняет.

illiatshurotshka❄️
12.09.2017
13:35:58

Kelin
12.09.2017
13:36:22

Aleh
12.09.2017
13:36:31

illiatshurotshka❄️
12.09.2017
13:36:38
так, и шо
ну ты можешь засунуть один контейнер в другой

Google

illiatshurotshka❄️
12.09.2017
13:37:20
и нам нужна функция которая превращает два вложенных контейнера в один

Kelin
12.09.2017
13:37:28
или все слишком просто и я даун, или все слишком сложно и я даун ?

illiatshurotshka❄️
12.09.2017
13:37:43

Gleb
12.09.2017
13:37:43
он тебе ща про flatMap загонит монадный

illiatshurotshka❄️
12.09.2017
13:37:53
монада это интерфейс который содержит эти две функции

Дмитрий
12.09.2017
13:38:05

Aleh
12.09.2017
13:38:11
в этом весь прикол, если ты можешь описать для какого-то js-объекта вот это:
type Monad<T> = {
map<B>(f: T => B): Monad<B>;
chain<B>(f: T => Monad<B>): Monad<B>
}
то у тебя монада
еще create=return нужен

Ilya
12.09.2017
13:38:42
А чей что представляет из себя?

Admin
ERROR: S client not available

Aleh
12.09.2017
13:38:48
ну суть примерно такая с точки зрения программных интерфейсов

Ilya
12.09.2017
13:38:51
Я помню про bind и join, что из них что.
Бля, надо научится голову включать уже.
Вопрос снят.

Kelin
12.09.2017
13:39:48
Так, ну с map понятно, а chain чем отличается

Aleh
12.09.2017
13:40:24
если ты в map пихнешь функцию f: T => Monad<B>, то на выходе получишь Monad<Monad<B>>

Ilya
12.09.2017
13:40:33
chain это flatMap

Aleh
12.09.2017
13:40:36
chain собственно и занимается “уравниванием"

Kelin
12.09.2017
13:40:45
секунду

Google

Ilya
12.09.2017
13:40:49
Сполющивает до уровня одной монады.

Дмитрий
12.09.2017
13:41:05

Ilya
12.09.2017
13:41:09
Ну да.

Дмитрий
12.09.2017
13:41:09
Ровно один

Ilya
12.09.2017
13:41:13
Это важная оговорка.

Kelin
12.09.2017
13:41:18
в итоге, я все это понял, но не понял, что конкретно есть монада
структура, которая имеет эти 2 метода?

Ilya
12.09.2017
13:41:24
Интерфейс.

illiatshurotshka❄️
12.09.2017
13:41:24
интерфейс

Kelin
12.09.2017
13:41:26
и все?

Ilya
12.09.2017
13:41:28
Да.

illiatshurotshka❄️
12.09.2017
13:41:32
трейт

Kelin
12.09.2017
13:41:32
пиздец.

Дмитрий
12.09.2017
13:41:39

illiatshurotshka❄️
12.09.2017
13:41:40
миксин

Дмитрий
12.09.2017
13:41:43
НЕТ

illiatshurotshka❄️
12.09.2017
13:41:45
почему

Ilya
12.09.2017
13:41:45
ТРЕЙТ
ИМПЛИСИТ

illiatshurotshka❄️
12.09.2017
13:41:57
лооол

Ilya
12.09.2017
13:42:09
Давайте без террора.

Aleh
12.09.2017
13:42:24
есть структуры, для которых нельзя их описать, они не монады