
? animufag ?
31.07.2017
12:23:17
кидать функцию в функцию сейчас кто угодно может

Denis
31.07.2017
12:23:28

Дмитрий
31.07.2017
12:24:05

Denis
31.07.2017
12:24:24
и в флоу также

Google

? animufag ?
31.07.2017
12:24:30
если говоришь фп среди совеременных языков то подразумеваешь, что есть суммы типов. что-то вроде ml-типизации. и полиморфизм на уровне тайпклассов с HKT

Denis
31.07.2017
12:24:51
для того чтобы это было нужна полная категория
населенный, не населенный тип, тип суммы, тип произведения, индуктивный и тп

Алексей
31.07.2017
12:25:31

Дмитрий
31.07.2017
12:25:36
и в флоу также
Ты даже не потрудился узнать какая модель вывода типов у него
О чем тут можно говорить вообще

Алексей
31.07.2017
12:25:59

Denis
31.07.2017
12:26:22

Дмитрий
31.07.2017
12:26:34
Догматизм
Это первое
Второе — ты щас ток сядь, ага

? animufag ?
31.07.2017
12:27:28
вообще само по себе фп не знаю что такое. не знаю что такое парадигма
и скорей всего это всё базворды незаслуживающие внимания

Google

Алексей
31.07.2017
12:30:38

Denis
31.07.2017
12:30:42
Догматизм
https://wiki2.org/ru/%D0%98%D0%B7%D0%BE%D0%BC%D0%BE%D1%80%D1%84%D0%B8%D0%B7%D0%BC_%D0%9A%D0%B0%D1%80%D1%80%D0%B8_%E2%80%94_%D0%A5%D0%BE%D0%B2%D0%B0%D1%80%D0%B4%D0%B0
ну и HoTT почитай

Дмитрий
31.07.2017
12:30:59
Теперь тебе придётся с этим как то жить

Denis
31.07.2017
12:31:17
где у флоу например Void?

Дмитрий
31.07.2017
12:31:54
Ты понимаешь в чём разница между двумя перечислеными тобой понятиями?

Denis
31.07.2017
12:31:56
где у флоу квантификация?
очередная ебаная поделка от фб

Дмитрий
31.07.2017
12:32:34
Погоди, я хочу понять, что мы вообще говорим не о баззвордах
Я повторяю
Ты понимаешь в чём разница между двумя перечислеными тобой понятиями?

Denis
31.07.2017
12:32:57
какими?

Дмитрий
31.07.2017
12:33:05
Лол
Ясно
есть одна модель вывода типов Милнер + SystemF все остальное от лукавого
Ты мешаешь в одну кучу алгоритм вывода типов и систему их исчисления

? animufag ?
31.07.2017
12:34:50

Дмитрий
31.07.2017
12:35:59
В Flow нет system f что вообще не мешает иметь вывод типов по алгоритму Милнера, хочешь ты в это верить или нет

andretshurotshka?❄️кде
31.07.2017
12:38:14
лол ща бы курчаткин офигел от того, что в флоу HM

Дмитрий
31.07.2017
12:38:52
Он в курсе

Google

Дмитрий
31.07.2017
12:39:25
Я ещё раз повторяю, в этом нет вообще ничего сверхъестенного
Если system f — это сложно, то Милнер — это блин просто корректный вывод ограничений на тип
Там вообще нет ничего эдакого
Тем хуже, что к нему относятся с таким пиететом
И тем хуже, что в тс вместо него навернули своих костылей
Раунд

? animufag ?
31.07.2017
12:45:21
kek
ну ты меня прям замотивировал разобраться в милнере

Vadim
31.07.2017
14:40:21

Kirill
31.07.2017
14:42:31
Так что, Rx в итоге зашёл или не нужен?

Vadim
31.07.2017
14:43:34
Я его активно использую для узкого круга задач. В middleware redux

? animufag ?
31.07.2017
14:43:54

Kirill
31.07.2017
14:44:47
Да, делаю стор, но понимаю, что в итоге я повторяю редукс в какой-то степени.

andretshurotshka?❄️кде
31.07.2017
14:45:09
Только у тебя девтулзов нет
)

Kirill
31.07.2017
14:45:56
Но это скорее всего не самое его правильное применение. В новый стандарт ведь хотят впилить observable, какое у него будет применение?
Не просто так ведь что-то предлагают в стандарт, а по каким-то нуждам.

Vadim
31.07.2017
14:48:27
В стандарт предлагают всё то, что активно используется в библиотеках. Чтобы отпала необходимость пользоваться хотя бы частью библиотек.
Так "убили" jQuery

andretshurotshka?❄️кде
31.07.2017
14:51:13
для интеропа всех обсерваблов мб

Google

? animufag ?
31.07.2017
14:51:54
и ещё чтобы включилась вся эта магия базвордов нужно добавить свой базворд. ЭПИКИ. будет круто если кто-нибудь пояснит, так чтобы запомнилось

Vadim
31.07.2017
14:54:04
Вчера смотрел доклад по focal.js. Как раз на тему стора и rx

? animufag ?
31.07.2017
14:57:42
> state as an immutable and observable
https://github.com/grammarly/focal

andretshurotshka?❄️кде
31.07.2017
14:58:23
эпики

? animufag ?
31.07.2017
14:58:56
?

andretshurotshka?❄️кде
31.07.2017
14:59:00
автор focal тут вроде сидит

Admin
ERROR: S client not available

Kirill
31.07.2017
15:05:59

? animufag ?
31.07.2017
15:07:23
hoc?

andretshurotshka?❄️кде
31.07.2017
15:07:37
Это похоже на мобикс

? animufag ?
31.07.2017
15:09:21
видимо таким образом тебе уже становится плевать на чистоту функций (ну разве что для тестов можно немного солюдать)
допустим ты пишешь вьюху, у неё есть обсервабл onClick. где ты его подпишешь?

Дмитрий
31.07.2017
15:15:33

Kirill
31.07.2017
15:16:18

Дмитрий
31.07.2017
15:16:27
Это похоже на мобикс
В этом нет ничего плохого. Проблема не в том, что мобикс на обсерваблах, проблема в том, что он форсит ООП, бардачную архитектуру и свою магию

? animufag ?
31.07.2017
15:18:38
Не понял, где я плюю на чистоту?
это допущение. как бы в редуксе получается разделение на чистые (проходящие через весь этот цикл) и необязательно чистые (внешние санки/саги/обсерваблы)

Google

Kirill
31.07.2017
15:19:38

? animufag ?
31.07.2017
15:20:44

Kirill
31.07.2017
15:22:17
Так у меня они чистые. https://github.com/Voronar/react-pure-typescript/blob/rx/src/store/TodoStore.ts#L67

? animufag ?
31.07.2017
15:22:52

Дмитрий
31.07.2017
15:22:52
Ща попробую пояснить

? animufag ?
31.07.2017
15:25:01
ну тип то что обычно люди пилят прямо месте .filter.map.switchWith... здесь выносится в функцию и из контекста остаётся только стор.
мало интуиции. неужели такие функции хорошо переиспользуются


Дмитрий
31.07.2017
15:31:42
Для начала про терминологию: формально экшн — это строго объект { type string, payload: any }, а всё, что его создаёт — это action creator. Но так как это неудобно, для всех уже давно action === action creator. То есть, определим обычный action-creator как некую функцию, которую мы вызываем, чтобы начать диспатчить в стор готовые экшн-объекты. Может быть как обычной синхронной функцией, так и асинхронной, используемой с redux-thunk.
Допустим, у нас есть стрим экшн-объектов, уже прошедших через redux, то есть как бы лог того, что уже произошло.
action$
Тогда эпик — это стрим, полученный из action$, который возвращает — не диспатчит самостоятельно — какой-либо экшн-объект
Выглядит это как const epic = (action$) => action$.filter( ACTION_TYPE ).map( () => NEW_ACTION )
То есть фактически это механизм объявления подписок на срабатывание каких-либо экшнов
Потому что изначально в redux есть subscribe, который даёт тебе подписку на изменение данных в сторе, но вот на экшны подписаться нельзя
Плюсы такого подхода — декларативность объявления. Санки мы должны дёрнуть руками, чтобы что-то произошло. С эпиками мы уверены, что всё запустится само, как только задиспатчится событие нужного типа
В результате получается полноценный, самодостаточный event-driven подход, который совмещает мощность rx и наглядность, предсказуемость redux


andretshurotshka?❄️кде
31.07.2017
15:43:18
назвали бы натуральная трансформация в категории экшенов

Kirill
31.07.2017
16:46:25
А как в Мосте делать сабжекты или это не нужно?

Denis
31.07.2017
16:46:39