
Denis
19.05.2017
16:38:32
Ну тут только стримы
Я в rx 4 добавлял метод что хватает трансдьюсер и обрабатывает сигнал

Vadim
19.05.2017
16:40:55
Тогда другой вопрос: можно ли в ramda сделать каррированную функцию, которая не вернет "финальный" результат пока не выполнится условие?
Короче, пока допустим сумма переданных чисел не будет равна 10?

Google

Vadim
19.05.2017
16:41:29
Пока условие не выполнено она будет возвращать саму себя каррированную

Дмитрий
19.05.2017
16:41:41

Denis
19.05.2017
16:42:07
Кинь решение

Дмитрий
19.05.2017
16:46:04
У чейна есть неочевидная киллер-фича — с его помощью можно делать контекст

Vadim
19.05.2017
16:46:38
Думаю в рамда моя задача нереализуемая, так как происходит мутация функции, что противоречит идеологии библиотеки

Дмитрий
19.05.2017
16:46:50
Неа
У меня, увы, не на рамде было, я static land имплементировал, сейчас постараюсь выдлить минимальный пример

Denis
19.05.2017
16:50:04
Хм, ну вообще-то монада функции это ридер
И это все очевидно
И ты как чувак с ником монады должен это знать)

Дмитрий
19.05.2017
16:53:48
То то я этого в спеке не заметил)
Заметь, не я предложил это на генераторах решать)

Denis
19.05.2017
16:54:42
У них просто есть хоть какая никакая возможность имитировать ленивость

Google

Дмитрий
19.05.2017
16:54:56
Омг

Denis
19.05.2017
16:55:00
В какой спеке?

Дмитрий
19.05.2017
16:55:08
ЯСНО

Denis
19.05.2017
16:55:39
Потом свой jsbin скину

Дмитрий
19.05.2017
16:57:01
Окай

Denis
19.05.2017
16:57:25
А что за спека?

Дмитрий
19.05.2017
16:57:57

Denis
19.05.2017
16:58:04
Вообще монада функцинальной стрелки это чтение из статического окружения
А, все эти спеки до жопы, учите хаскелль или пурсу

Nikita
19.05.2017
16:59:25
пурсу?

Denis
19.05.2017
17:00:53
Purescript

Дмитрий
19.05.2017
17:02:22

Nikita
19.05.2017
17:03:17

Denis
19.05.2017
17:03:50
Я не понял к чему это?

Дмитрий
19.05.2017
19:16:10
В жс не всегда удачный синтаксис для этого, поэтому пришлось заюзать классы) Но заметь, строго иммутабельно
При этом получается интересная фича — фактически, в каждом chain первым аргументом приходит контекст выполнения

Vladimir
19.05.2017
20:01:27

Denis
19.05.2017
20:02:04

Google

Vadim
20.05.2017
07:52:00

Vladimir
20.05.2017
08:27:41
это R.curry & R.curryN

Vadim
20.05.2017
08:50:06
Нечаянно удалил сообщение с задачей :/
Короче, задача была такая:
// curryMaker(condition);
// “getResult" should return curried itself until sum of passed arguments equals 10.
const getResult = curryMaker((arg) => arg < 10);
getResult(5)(3)(2); // => 10
Короче, функция должна возвращать каррированную себя же до тех пор, пока не выполнится условие. При этом, нужно избежать браузерного ограничения на глубину скопа. При решении через рекурсию может получиться большая вложенность скопов.

Yumi
20.05.2017
09:03:04
reduce отлично помогает избегать ограничение скопа.

Vladimir
20.05.2017
10:45:43

Aleh
20.05.2017
10:48:16
Если вам нужен минификатор js, то значит вы пишите на js :)

Vadim
20.05.2017
13:24:44
только curryN требует
Через метод curry ты не сделаешь так, что б функция возвращала неограниченное число раз себя. Там это ограничение явно задается через length изначальной функции

Yumi
20.05.2017
14:22:18
https://github.com/jfmengels/eslint-plugin-fp/blob/master/readme.md
Юзал кто-то?

Дмитрий
20.05.2017
18:27:58
А если использовать модули fantasy-* из репы fantasy-land, то можно обойтись вообще только конкретными функциями для фильтрации


Дмитрий
20.05.2017
18:29:31
Так как всё выше - это просто fantasy-states + fantasy-tuples
Но так как автор этого всего надёжно ливнул с етого вашего жеэс, то пока я решил, что этими модулями пользоваться не буду ?
Лично у меня нет такого идеального кода чтобы соответствовать этому линтеру

Yumi
20.05.2017
18:34:24
Я вот не знаю, как без контекста, если у меня например умный компонент.

Дмитрий
20.05.2017
18:34:39
Ну тут легко

Yumi
20.05.2017
18:34:45
И как?

Дмитрий
20.05.2017
18:34:53
Использовать функциональные компоненты

Google

Дмитрий
20.05.2017
18:35:07
И статичные функции от аргументов
Но это дно

Yumi
20.05.2017
18:35:33

Дмитрий
20.05.2017
18:35:56
Вроде да, хз, я не пользуюсь контекстом
Но это дно
По этой же причине, я, поигравшись, решил забить на static-land, потому что он вербозный просто жуть как
А в fantasy-land — лол — используется this

Admin
ERROR: S client not available

Yumi
20.05.2017
18:39:50
А у тебя есть, что-то свежее, чтобы посмотреть, как ты именно сейчас реакт приложения пишешь?

Дмитрий
20.05.2017
18:45:27
Ну если только небольшие примеры) Сейчас, чуть позже расшарю
Но там ничего сверхъестьественного, обычный react, redux
Я просто изначально хз, где мне может помочь контекст, что бы я не мог сделать без него
Единственно что вспоминается — это react-router, но в своих проектах я его тоже выкинул

Paruyr
20.05.2017
18:48:00

Дмитрий
20.05.2017
18:48:37
universal-router
Там async components из коробки, без проблем, а сколько вжухов надо сделать, чтобы заставить их работать в react-router

Yumi
20.05.2017
18:55:24

Vladimir
20.05.2017
19:50:25

Дмитрий
20.05.2017
19:59:40

Vladimir
20.05.2017
20:00:05
ну норм
так и нужно

Google

Vladimir
20.05.2017
20:00:21
и маппить его в пропсы
кста

andretshurotshka?❄️кде
21.05.2017
16:56:13

Denis
22.05.2017
08:13:35
recursion schemes это круто) долой явную рекурсию/корекурсию (примитивную и структурную)
все эти someFnM делают тоже что и someFn только с монадным эффектом
но! дают в некотором случае прикольные вещи
permutations' = sortByM (\_ _ -> [False, True])
subsequences' = filterM' (const [False, True])
inits' = takeWhileM' (const [False, True])
tails' = dropWhileM' (const [False, True])
и да) все эти 4 функции легко написать через do и обычное определение этих функций (но я пошел путем через recursion-schemes через cata,para,cataM,paraM)

andretshurotshka?❄️кде
22.05.2017
09:17:39
вроде ты уже был тут)

? animufag ?
22.05.2017
09:54:59
хех) я был тут минуты две. меня забанили за спам.

Kirill
22.05.2017
09:56:40
Что лучше для фронтэндера учить Хаскелль или Кложу?

Vladimir
22.05.2017
09:57:15
кложу я думаю

Denis
22.05.2017
10:46:24
Пурсу и ельмню ну может окамльню)

Kirill
22.05.2017
10:48:11
А есть смысл именно Хаскелль сначала учить, а не Пурсу?

Denis
22.05.2017
10:48:40
Можешь параллельно

Дмитрий
22.05.2017
11:52:43
Purescript — путь для сильных духом
Bower, пустая экосистема, все туториалы всё равно будешь читать для хаскеля, переводя в голове
Половина pursuit перманентно сломана