
andretshurotshka?❄️кде
19.06.2017
18:05:20

Сергей
19.06.2017
18:05:31
?

andretshurotshka?❄️кде
19.06.2017
18:05:37
в сообщении ок

Сергей
19.06.2017
18:05:39

Google

andretshurotshka?❄️кде
19.06.2017
18:06:14
мб у меня просто нет совы в системе)

Сергей
19.06.2017
18:08:58
Ответь на мое сообщение любое

andretshurotshka?❄️кде
19.06.2017
18:09:23

Даниил
19.06.2017
18:09:24

Kirill
19.06.2017
18:09:27

Сергей
19.06.2017
18:10:07
С другого аккаунта с офф телеграмма

Artur
19.06.2017
18:12:23
веб телега

Kirill
19.06.2017
18:14:55

? animufag ?
19.06.2017
18:20:07

Google

? animufag ?
19.06.2017
18:20:51
странно что в рамде нету чего-нибудь вроде {..., a, b}
удобно же закарировать

Kirill
19.06.2017
18:21:32

Aleh
19.06.2017
18:21:33
у меня тож норм с ведроида в телеге

Kirill
19.06.2017
18:25:11
Только, по-моему, это не совсем то.

Сергей
19.06.2017
18:40:30

Yumi
19.06.2017
18:48:09

andretshurotshka?❄️кде
19.06.2017
18:49:04
лол

? animufag ?
19.06.2017
19:15:00

Дмитрий
19.06.2017
20:09:56
Скажу по секрету
но чтобы разобраться в теме гораздо эффективнее не задавать вопросы а отвечать на них ?

? animufag ?
19.06.2017
20:13:14
Хз. Я не лезу туда где совсем нет представления.

Aleh
19.06.2017
20:18:00
задавать тож норм

Таймураз
19.06.2017
20:29:07

? animufag ?
19.06.2017
20:35:28

Kirill
20.06.2017
04:26:55
Что-то редьюс не получается.
https://goo.gl/KoNVuH

Vladimir
20.06.2017
07:42:18

Google

Vladimir
20.06.2017
07:42:54
сейчас непонятно, что у тебя не получается

Kirill
20.06.2017
07:43:44
Ну вот в примере выше там reduce принимает функцию-коллбэк, которая принимает 2 аргумента. Вот я и не пойму как с ними работать без явного использования.
А такая штука в рамде есть? https://lodash.com/docs/4.17.4#mapKeys
Только эта функция в лодаш/фп немного странная. Сначала принимает данные, а потом трансформатор(а не наоборот) и без танцев не вставишь её в пайп.

Aleh
20.06.2017
08:26:09
https://medium.com/@alexdixon/functional-programming-in-javascript-is-an-antipattern-58526819f21e

Vladimir
20.06.2017
08:29:43

Aleh
20.06.2017
08:30:06
жс не оч, юзайте кложу

Nikita
20.06.2017
08:44:30
Тоже мне новость

aodzaki.toko
20.06.2017
08:52:15

Nikita
20.06.2017
08:53:01
:) давно не писал статей

Ilya
20.06.2017
08:53:20
Чёт похоже что у него просто проблемы с инструментами которые он использует.
So even if I’m not using ImmutableJS, I have to remember “don’t mutate here”.
Nu ohuet, очень сложно просто не мутировать.

Yumi
20.06.2017
09:19:07
Так в кложе можно переменные переопределять.
И там устная договоренность так не делать.

Aleh
20.06.2017
09:23:54
ну короче если писать на жс, как на кложе, то будет не так удобно, как на кложе

Yumi
20.06.2017
09:25:01
Лол.

Aleh
20.06.2017
09:25:29
вообще слабо понятны эти претензии про мутабельность, есть же линтеры(тс и флоу)

Google

Aleh
20.06.2017
09:25:44
запретил на уровне типа мутировать и живешь себе спокойно

Yumi
20.06.2017
09:26:34
Ему наверное не нравится, что нужно задумываться.

Aleh
20.06.2017
09:26:56
ну так линтеры как раз помогают, чтобы думать о высоком, а не о мемоизированных селекторах

Yumi
20.06.2017
09:27:00
Ведь используя иммутабельные данные, не нужно этого делать.

Aleh
20.06.2017
09:27:02
(шутка)

Admin
ERROR: S client not available

Aleh
20.06.2017
09:27:23

Yumi
20.06.2017
09:28:39
Риторический вопрос.

? animufag ?
20.06.2017
09:45:39

andretshurotshka?❄️кде
20.06.2017
09:46:11
А в кложурскрипте можно из npm либы юзать?

Ilya
20.06.2017
10:16:26
Я вот не знаю насчёт задумываться.
Когда-то решил просто не мутировать и с тех пор не мутирую где не надо не задумываясь вообще.
Ну, я просто не понимаю как это может быть сложно если сам сложности не испытывал.
Но может автор статьи вершит судьбы и у него реально страдает от этого продуктивность.

Vladimir
20.06.2017
11:06:17
что Object.assign, Object.freeze
и так далее

Ilya
20.06.2017
11:07:23
Ну да.

Aleh
20.06.2017
11:09:03

Google

Aleh
20.06.2017
11:09:25
если говорить про клиент, то тут хорошо и можно почти все сделать имутабельным

Vladimir
20.06.2017
11:17:23
там ещё меньше для мутаций пространства
там юзера нет

Aleh
20.06.2017
11:17:38
ну бизнес-сущности имеют цикл жизни и в ходе него меняются
про юзера не понял)

Vladimir
20.06.2017
11:28:23
на клиент сайде основная причина мутабельности это необходимость реагирования на действие человека
в бэкенде такого нет
инпут, обработка, (возможно сохранил в бд), тапом зарепортил логи, аутпут

? animufag ?
20.06.2017
11:31:28
я думаю в большинстве случаев причина мутабельности – это предоставляемые сдк. что на браузере, на мобилках, в серверных фреймворках. ну, разумеется на сервере тебя мало что ограничивает

Aleh
20.06.2017
11:39:25

Vladimir
20.06.2017
11:39:40

Aleh
20.06.2017
11:39:55
ну точно также приходят запросы, как события на изменение чего-то в инпуте или клики

Vladimir
20.06.2017
11:40:16
инпут, обработка, (возможно сохранил в бд), тапом зарепортил логи, аутпут

Denis
20.06.2017
12:59:54
scanr через hylo и cata
const scanr_ = f => n => xs => {
const coalg = t => {
if(t.length) {
const [x,...xs] = t
return Cons(x, xs)
} else {
return Nil
}
}
const alg = xs => {
return xs.cata({
Nil: () => [n],
Cons: (x, xs) => [f(x)(xs[0]), ...xs]
})
}
return hylo(alg, coalg, xs)
}
const scanr = f => n => xs => {
const go = xs => {
return xs.cata({
Nil: () => [n],
Cons: (x, xs) => [f(x)(xs[0]), ...xs]
})
}
return cata(go, xs)
}