@frp_ru

Страница 65 из 420
Сергей
16.05.2017
08:09:39
линзы для повседневных задач?!

Дмитрий
16.05.2017
08:10:30
А что?

Vladimir
16.05.2017
08:16:32
линзы для повседневных задач?!
а как ты редьюсеры пишешь?

Google
Vladimir
16.05.2017
08:16:46
линзы для ридакса самое то

Сергей
16.05.2017
08:17:09
линзы для ридакса самое то
а есть где пример посмотреть?

Yumi
16.05.2017
08:20:01
Есть lensPath. С ним легче.

Vladimir
16.05.2017
08:25:00
Denis
16.05.2017
08:37:48
линзы в js бьют по производительности

Kirill
16.05.2017
08:39:29
А если использовать immutable.js, то там по сути ведь обновление данных с помощью линз идёт, не?

Yumi
16.05.2017
08:39:42
линзы в js бьют по производительности
Производительно пишут в императивном стиле. Если нужно.

Denis
16.05.2017
08:39:50
+ еще отличие лодаша - это перформанс

вообще классическая линза должна быть сделана через Const и Identity для которых функтор имеет интересную особенность

Kirill
16.05.2017
08:42:19
Denis
16.05.2017
08:42:28
ну было да

Google
Denis
16.05.2017
08:42:55
хотя я не уверен про lodash-fp через композицию не будет фьюзиться

вчера пытался сделать монадный параморфизм =)

Сергей
16.05.2017
09:04:53
в блоге csssr
спасибо!!!

Denis
16.05.2017
09:06:16
шо за блох?

Yumi
16.05.2017
09:06:52
Denis
16.05.2017
09:08:08
я вам тут покушать принес https://github.com/xgrommx/awesome-functional-programming#lenses

from
16.05.2017
09:21:23
а не хочется, чтобы в рекомпоуз wrapDisplayName была каррирована и принимала аргументы наоборот?

Можно было бы делать так:



или уже возможно подобное, но я не могу найти?

Vladimir
16.05.2017
09:21:59
у меня работало

мб enhance

все хоки каррированы

from
16.05.2017
09:22:30
не похоже https://github.com/acdlite/recompose/blob/a74d7c0013d4b792ed8b9e6b17f68ff9db25127f/src/packages/recompose/wrapDisplayName.js

Vladimir
16.05.2017
09:22:59
попробуй enhance

from
16.05.2017
09:23:39
а что за enhance? :) https://github.com/acdlite/recompose/blob/master/docs/API.md

enhance'ом тут называется любой сделанный hoc

это вот setDisplayName каррирована но это не так интересно, получится в итоге просто withAccount, а хочется-то withAccount(CurrentComponent)

Сергей
16.05.2017
09:28:31
сделай ПР

Google
Сергей
16.05.2017
09:28:33
это же опенсорц

from
16.05.2017
09:29:54
так легко хочу сначала выяснить нужно ли это или я пропустил что-то

Vladimir
16.05.2017
09:30:24
setDisplayName

да

https://github.com/acdlite/recompose/blob/master/docs/API.md#setdisplayname

from
16.05.2017
09:31:29
@iamstarkov так это я вижу, я в своём примере его и использовал

в сочетании с гипотетически-каррированным wrapDisplayName было бы круто :)

хотя не совсем так связка эта тут не нужна видимо, достаточно было б чтоб wrapDisplayName задавал компоненту displayName

ну или нужна, только видимо через pipe или как-то так :)

короче .chain :) https://www.webpackbin.com/bins/-KkFcixC3Ie5GzHS3QR9

Denis
16.05.2017
11:26:37
а теперь объясни почему chain(хорошая практика кстати)

кстати рекомпоуз прикольно юзать с контрамапой https://github.com/DrBoolean/Oh-Composable-World

from
16.05.2017
11:39:56
Denis
16.05.2017
11:40:05
да

для себя самого

ну и в чатик

from
16.05.2017
11:41:22
ну э короче языком жестов и набросками карандашом объясню наверное :))

Denis
16.05.2017
11:41:38
тут все просто почему так

если chain, то значит?

функция есть?

Google
from
16.05.2017
11:43:16
если я скажу че-то типа "тут нужен chain потому что надо аргумент "пробросить" по обеим функциям" то я это сам убедительным объяснением не посчитаю..)

Denis
16.05.2017
11:43:34
правильно

потому что у тебя тут ридер из статического окружения

а это что тогда?

я уже столько подсказок сделал =)

Denis
16.05.2017
11:44:44
думай

from
16.05.2017
11:49:34
боюсь я терминологию не знаю но как бы дело в том, что функция wrapDisplayName не возвращает объект над которым оперирует, а надо

Admin
ERROR: S client not available

Denis
16.05.2017
11:58:43
это монада

Vasiliy
16.05.2017
17:46:40
const withAccount = BaseComponent => { const hoc = compose( withProps({ store: accountStore }), connect(pick(['account', 'trades'])), ); if (process.env.NODE_ENV !== 'production') { return setDisplayName(wrapDisplayName(BaseComponent, 'withAccount'))(hoc(BaseComponent)); } return hoc(BaseComponent); }; т.е. по аналогии, так же, как в самом рекомпоузе делаются эти вещи да, выглядит не красиво

во что?) что это работает или что так в рекомпоузе делают hoc'и?

Denis
16.05.2017
17:50:48
не сношайтесь с этим всем, берите pux

Vasiliy
16.05.2017
17:50:56
да, pux клевый

но не в прод и не у меня работе)) так-то сам тащусь) чисто для себя для пет-проджекта какого-то взял бы его

Denis
16.05.2017
17:51:29
там все по правилам, эффекты отдельно и все делается с помощью трансформеров

Vasiliy
16.05.2017
17:51:42
да, я проперся от реализации эффектов

Denis
16.05.2017
17:51:55
ну это же мать ее луковица монад)

Vasiliy
16.05.2017
17:52:11
update (RequestTodos) state = { state: state { status = "Fetching..." } , effects: [ do res <- attempt $ get "http://jsonplaceholder.typicode.com/users/1/todos" let decode r = decodeJson r.response :: Either String Todos let todos = either (Left <<< show) decode res pure $ ReceiveTodos todos ] }

красота

Google
Denis
16.05.2017
17:53:10
если еще ExceptT будет вместо просто Either то вообще круто)

Vasiliy
16.05.2017
18:10:32
я вообще только сейчас от тебя узнал про ExceptT, извините за мой плохой хаскель

хорошая вещь, вот только что понял что это такое

Denis
16.05.2017
18:13:07
ну есть еще вариант с накопителем ошибок (чтобы историю ошибок знать) Validate ну может трансформер есть ValidateT

Kirill
18.05.2017
13:03:15
Привет всем. Как в терминах ФП называется функция такого типа a => a?

Andrew
18.05.2017
13:06:02
identity

Kirill
18.05.2017
13:07:15
Спасибо.

Yumi
18.05.2017
19:23:36
echo

?

Denis
19.05.2017
11:36:45
Вообще это торжественность в изоморфности к логике 1 порядка :-D

Aleh
19.05.2017
11:37:22
тождественность?

(все слова понял по одиночке, но не вместе)

Denis
19.05.2017
11:38:29
Ну да если true то true и наоборот

Вообще-то это полиморфная функция

И эндоморфизм везде в типах

Ибо мы можем отображать только в себя

Если вспомнить математику

То там было суръекция биекция и инъекция

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