@frp_ru

Страница 94 из 420
? 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
Зря рассказал только
Когда соберешь первые 10к звезд на гитхабе после релиза

Не забывай тех кто тебя поддержал морально!

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
Да куда там)
10 звезд мы тебе организуем)

Сергей
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
https://www.sitepoint.com/switching-from-react-to-cycle-js/
Недельку не заглядывал, так что сорри, если отвечаю на что-то древнее )

По-моему, очень спорная статья

С Data flow у Cycle вообще как-то очень плохо. Это главная причина почему я на него не сел в свое время

Вернее не то что бы плохо, но нет какой-то общеупотребимой практики.

Типа как redux в react

Народ на этот счет костылит кто во что горазд там. Еще на тот момент, когда я смотрел, у них не было оптимизации для пересчетов дерева. Ну в смысле, если тебе нужно указать, что б дерево не пересчитывалось в случае если данные при эвенте пришли те же. Короче, аналога "Reselect", используемого в react.

Ну и еще огромный минус: нехватает (это было пол-года назад, по крайней мере) множества написанных и протестированных плагинов. Для реакта часто приходится что-то такое подключать. Например для всякого рода систем попапов/модалов, разнообразных драг-н-дроп вещей, вещей требующих сильной кросс-браузерной доработки, и так далее. У заказчика порой фантазия большая, и без наличия большого числа уже созданного процесс написания кода заметно затянется.

Еще тогда не было (не знаю, есть ли сейчас) изящных решений с генерацией списков ui-элементов, от событий в которых зависит генерация этого же списка (как в том же TODO-апп). Их пример с TODO был довольно не-изящен.

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
Dispatches to the ap method of the second argument, if present. Also treats curried functions as applicatives.
Ты это взял из документации по рамдовскому методу "ap" http://ramdajs.com/docs/#ap Это ОН интерпретирует каррированные функции как аппликативы. Про sequence это не сказано. К тому же, переданные в массиве функции НЕ каррированные!

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

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 невозможно видеть то, считать ли некаррированные функции аппликативами.

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
R.sequence(R.of, Just([1, 2, 3]));
Этот код не работает в реальности ) Можешь проверить )

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

Страница 94 из 420