
? animufag ?
07.07.2017
12:35:28
Без стримов

Дмитрий
07.07.2017
12:36:50
Блин, закрыли тему, бесит доказывать что не верблюд

? animufag ?
07.07.2017
12:37:06
Видимо стримы здесь не рх а общеразговорные стримы?

Дмитрий
07.07.2017
12:37:34
Я не понимаю, что значит не рх(чп)

Google

andretshurotshka?❄️кде
07.07.2017
12:38:07
Rx.js

Дмитрий
07.07.2017
12:38:16
Я понял, как ни странно
Я не понимаю, почему она выделяется в какую-то отдельную категорию
Закрыли тему
Зря рассказал только

Yung
07.07.2017
12:44:38
Не забывай тех кто тебя поддержал морально!

Дмитрий
07.07.2017
12:46:23

andretshurotshka?❄️кде
07.07.2017
14:54:26
СОВА
сорри

Denis
07.07.2017
14:55:15
овулирующая сова оргазмирующим енотом

andretshurotshka?❄️кде
07.07.2017
14:55:56
эээ дима нафиг ты историю удалил

Сергей
07.07.2017
15:00:36
Хммм

Google

andretshurotshka?❄️кде
07.07.2017
15:33:40
?

Aleh
07.07.2017
15:35:37

Сергей
07.07.2017
16:43:04

Denis
07.07.2017
21:34:33
https://codepen.io/search/pens?q=rxcss&limit=all&type=type-pens


Vadim
08.07.2017
04:24:59
По-моему, очень спорная статья
С Data flow у Cycle вообще как-то очень плохо. Это главная причина почему я на него не сел в свое время
Вернее не то что бы плохо, но нет какой-то общеупотребимой практики.
Типа как redux в react
Народ на этот счет костылит кто во что горазд там. Еще на тот момент, когда я смотрел, у них не было оптимизации для пересчетов дерева. Ну в смысле, если тебе нужно указать, что б дерево не пересчитывалось в случае если данные при эвенте пришли те же. Короче, аналога "Reselect", используемого в react.
Ну и еще огромный минус: нехватает (это было пол-года назад, по крайней мере) множества написанных и протестированных плагинов. Для реакта часто приходится что-то такое подключать. Например для всякого рода систем попапов/модалов, разнообразных драг-н-дроп вещей, вещей требующих сильной кросс-браузерной доработки, и так далее. У заказчика порой фантазия большая, и без наличия большого числа уже созданного процесс написания кода заметно затянется.
Еще тогда не было (не знаю, есть ли сейчас) изящных решений с генерацией списков ui-элементов, от событий в которых зависит генерация этого же списка (как в том же TODO-апп). Их пример с TODO был довольно не-изящен.


andretshurotshka?❄️кде
08.07.2017
04:41:14


Vadim
08.07.2017
04:46:10
Самое главное, даже если бы не было этих минусов (может некоторых уже действительно нет), для себя я и плюсов-то cycle не вижу особых. Все сайд-эффекты в реакте у меня аккуратно контролируются в миддлваре (redux-observable). Все вполне однонаправленно и упорядоченно.
Народ! Кто тут хорошо понимает работу метода sequence в ramda?
Почему следующий код работает? Ведь это же не задокументированно?
const plusOne = x => x + 1;
const plusTwo = x => x + 2;
const plusThree = x => x + 3;
sequence(always, [plusOne, plusTwo, plusThree])(1) // => [2, 3, 4]
В документации по sequenсe http://ramdajs.com/docs/#sequence указано что в метод должен передаваться массив аппликативов, но ведь простые функции (которые тут в примере переданны в массиве) это не аппликативы?
Например у них нет обязательного метода "of" https://github.com/fantasyland/fantasy-land#of-method

andretshurotshka?❄️кде
08.07.2017
05:04:11
функция и есть аппликатив)

Google

Vadim
08.07.2017
05:04:44
а как же с методом "of", которым должен обладать аппликатив, судя по документации? У функций же его нет.

andretshurotshka?❄️кде
08.07.2017
05:08:11
?
@ZeroBias

Vadim
08.07.2017
05:09:13
@xgrommx
)

andretshurotshka?❄️кде
08.07.2017
05:10:24
of это наверно конструктор функции)
Dispatches to the ap method of the second argument, if present. Also treats curried functions as applicatives.
А sequence юзает ap внутри
Так что все документировано
)
Vadim

Vadim
08.07.2017
05:18:58

Vadim
08.07.2017
05:19:26
Так что они даже по приведенному тобой описанию не аппликативы

andretshurotshka?❄️кде
08.07.2017
05:19:48

Vadim
08.07.2017
05:20:08
Да, но они там не каррированные

andretshurotshka?❄️кде
08.07.2017
05:20:56
Ну там ap еще что-то делает с обычными функциями

Vadim
08.07.2017
05:21:49
Вот я и хотел вообще понять логику метода. Что именно он принимает? Если только аппликативы, то какие объекты В ЕГО ПОНИМАНИИ являются аппликативами? Потому что судя по спецификации это не аппликативы. Что б работа с рамдой была более предсказуемой и понятной
Что б при случае легко понимать чужой код

Дмитрий
08.07.2017
05:31:30
Ввиду того, что пишем мы всё же на жс, авторы рамды ради интеропа слегка поступились правилами, и многие стандартные объекты ведут себя как правильно объявленные

Vadim
08.07.2017
05:32:39
Так какие объекты в рамде я могу рассматривать как аппликативы?

Google

Vadim
08.07.2017
05:33:30
Почему в одном месте говорится что под ними принимаются КАРРИРОВАННЫЕ функции (в инфе по методу "ap"), а в другом как аппликативы вполне принимаются некаррированные?

andretshurotshka?❄️кде
08.07.2017
05:33:52
Посмотри код ap

Vadim
08.07.2017
05:34:42
Посмотри код ap
Смотреть код - это не серьезно. Код склонен порой часто меняться. Нужно понимать спецификацию
Я прост хочу понимать правила работы с рамдой
Код смотреть тут глупо еще и потому, что если мы имеем дело с багом или с непреднамеренной, недокументированной фичей, то она вполне может скоро исчезнуть, и использовать ее нельзя.

Admin
ERROR: S client not available

andretshurotshka?❄️кде
08.07.2017
05:41:44
сигнатура там ок вроде
[a → b] → [a] → [b]
Кстати of там не нужен потому что у ap констрейнт Apply
@ZeroBias как ap для списка выглядит?

Vadim
08.07.2017
05:47:15
сигнатура там ок вроде
Из сигнатуры в sequence невозможно видеть то, считать ли некаррированные функции аппликативами.

andretshurotshka?❄️кде
08.07.2017
05:47:58

Vadim
08.07.2017
05:49:06
Я рад просто запомнить что функция - это аппликатив. Но почему в одном месте говорится именно про каррированные функции, а в другом как аппликативы принимаются некаррированные? Может это баг, и это опасно юзать?

andretshurotshka?❄️кде
08.07.2017
05:51:03
Чет я тоже запутался
Тут не так
Список это аппликатив
У него и of есть и ap
То есть функция в контейнере получается

Vadim
08.07.2017
05:53:02
Судя по документации sequence http://ramdajs.com/docs/#sequence, список это Traversable
Transforms a Traversable of Applicative into an Applicative of Traversable.

Google

Vadim
08.07.2017
05:53:57
R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]); //=> Just([1, 2, 3])

andretshurotshka?❄️кде
08.07.2017
05:54:17
R.sequence(R.of, Just([1, 2, 3]));
а так?)

Vadim
08.07.2017
05:54:35

andretshurotshka?❄️кде
08.07.2017
05:54:42
лол
sequence для maybe надо определить походу
Список это и Applicative и Traversable

Vadim
08.07.2017
06:09:35
Но все-равно. Изначально вопрос был о том, какой вид функций в рамде можно считать Applicative? Только каррированные? Или где-то каррированные, а где-то нет (и это нигде не задокументированно, и потому небезопасно)? И что еще из стандартных js-сущностей можно считать аппликативами?

andretshurotshka?❄️кде
08.07.2017
06:10:01
Тут не функция как аппликатив, а список
[func].ap([1])

Vadim
08.07.2017
06:11:22
"Transforms a Traversable of Applicative into an Applicative of Traversable."
Так что в любом случае он интерпретирует переданный массив как Traversable of Applicative

andretshurotshka?❄️кде
08.07.2017
06:12:43
А
@ZeroBias пинг)
Кстати of у функций это и есть походу always