Size: a a a

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

2020 November 05

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
проблема в том, что непонятно, нафига видеть везде монады 😊
Ну, кому-то непонятно, зачем видеть везде map и reduce :)
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Мне кажется есть польза, что видишь общие абстракции
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Я сам не слишком в теме, если честно, просто кажется, что это полезная штука (чтобы не дублировать код и выделять хорошие абстракции)
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mikhail Borisov
Я сам не слишком в теме, если честно, просто кажется, что это полезная штука (чтобы не дублировать код и выделять хорошие абстракции)
Ну тут вопрос хорошие ли они
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Anton Chikin
Ну тут вопрос хорошие ли они
Они мб плохи только в том, что сложны для понимания неподготовленным и это разумное замечание
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Я сам не слишком в теме, если честно, просто кажется, что это полезная штука (чтобы не дублировать код и выделять хорошие абстракции)
ну, у тебя в коде есть такая абстракция, как моноид?
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Но я бы предпочел, чтобы те же промисы создавались так, чтобы они удовлетворяли монадическим правилам, чем были написаны "потому что я так вижу"
источник

ST

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

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну, у тебя в коде есть такая абстракция, как моноид?
Нет) Это ж концепция опять же
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Нет) Это ж концепция опять же
так как эта концепция тебе помогает «не дублировать код и выделять хорошие абстракции»?
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
они не сложны для понимания
они сложны для запоминания именно в такой терминологии
Ну, можно попробовать придумать терминологию попроще, но ее уже заняли математики. Я особо не вижу в этом проблемы
источник

E

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Я сам не слишком в теме, если честно, просто кажется, что это полезная штука (чтобы не дублировать код и выделять хорошие абстракции)
или здесь главное слово «кажется»? 😊
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
так как эта концепция тебе помогает «не дублировать код и выделять хорошие абстракции»?
Ну, если мы знаем, что моноиды "можно редьюсить параллельно", значит можно писать общий параллельный редьюсер, который умеет это делать, а не писать конкретный под каждый тип
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Да в общем то же самое, что и с map
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Ну, можно попробовать придумать терминологию попроще, но ее уже заняли математики. Я особо не вижу в этом проблемы
ну вот взяли все языки программирования из математики термин «функция», и думаю что теперь ни у одного программиста с этим нет проблемы
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mikhail Borisov
Они мб плохи только в том, что сложны для понимания неподготовленным и это разумное замечание
Ещё местами сложны для использования.
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну, у тебя в коде есть такая абстракция, как моноид?
Очень отдаленно, можно в кложуре nil рассматривать как Nothing и данные как Just. Тогда отношение стандартной либы к nil (обработка как пустого списка, пустой мапки и тд) стают немного понятней
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Можно писать каждый раз новый цикл или преобразование над конкретной коллекцией
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
А можно выделить общее
источник