Size: a a a

Clojure — русскоговорящее сообщество

2020 November 05

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Гифку своих результатов нашел
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
ETL
Просто зачем они нужны в том же JS? Понятно, что технические реализуемы. Более того, реализованы. Зачем - загадка.
React.createElement по всем usage признакам монада, а с хуками он почти чистым стал (если не считать пользовательского кода)
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Если бы он был реализован через настоящую идеоматическую монаду то не было бы проблемы что на хуках может работать только один инстанс реакта
источник

E

ETL in Clojure — русскоговорящее сообщество
Arseniy Lebedev
React.createElement по всем usage признакам монада, а с хуками он почти чистым стал (если не считать пользовательского кода)
Со всем этим я согласен. Я когда про хуки узнал, когда - первая мысль была, что это очень похоже на State, но это просто же какие-то ФП-inspired штуки (и то, с нашей точки зрения). Повторюсь, что Дэн Абрамов писал, что не в курсе никаких монад. Это просто решение проблемы передачи состояния.
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
ETL
Со всем этим я согласен. Я когда про хуки узнал, когда - первая мысль была, что это очень похоже на State, но это просто же какие-то ФП-inspired штуки (и то, с нашей точки зрения). Повторюсь, что Дэн Абрамов писал, что не в курсе никаких монад. Это просто решение проблемы передачи состояния.
А как State работает?
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Ты же про хаскельный?
источник

O

Ortofax in Clojure — русскоговорящее сообщество
State это s -> a -> (s, a). хуки к нему точно как-то относятся?
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Ortofax
State это s -> a -> (s, a). хуки к нему точно как-то относятся?
Это редакс)
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Везде какие-то сложные описания того как работают хуки, хотя на деле они работают не очень сложно
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Там единственная хитрость в том, что функторы хуков живут только в фазе рендера
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Есть некоторый глобальный диспатчер хуков, который до очередного рендера пустой. Когда дёргается рендер он заполняется функторами хуков, которые конкретные вызовы в компонентах дёргают, таким образом у тебя стейт, локальный для конкретного рендера попадает в хук. При этом лежат они там в виде линкед листа чтобы гарантировать последовательное выполнение (это ключевая причина по которым нельзя состав хуков менять). Это такое глобальное замыкание получается, но мы то знаем что на деле это распаковка значения из контекста монады :)
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Лежит он там в виде линкед листа очевидно потому что это единственный способ сравнить предыдущее и текущее значение. У хука нет референса, все что мы знаем про него это то, какой он был по порядку во время рендера всего дерева компонентов
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
а что такое функтор?
источник

CD

Camina Drummer in Clojure — русскоговорящее сообщество
Из чего же, из чего же, из чего же
Сделаны наши монады
источник

ИФ

Иван Федоров... in Clojure — русскоговорящее сообщество
Camina Drummer
Из чего же, из чего же, из чего же
Сделаны наши монады
не все носят эту терминологию с собой
источник

CD

Camina Drummer in Clojure — русскоговорящее сообщество
Иван Федоров
не все носят эту терминологию с собой
Да я сама только въезжаю, просто шуточка
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
сколько я читал простыней про монады, всё понятно, но в голове надолго не задерживается 😊
источник

D

Dos in Clojure — русскоговорящее сообщество
Интересно кто писал доку crux? @spacegangster
        [{:crux.db/id :ivan :name "Ivan"}
        {:crux.db/id :petr :name "Petr"}
        {:crux.db/id :sergei :name "Sergei"}
        {:crux.db/id :denis-a :name "Denis"}
        {:crux.db/id :denis-b :name "Denis"}]
источник