Size: a a a

Scala User Group

2020 November 22

f

fulcanelly in Scala User Group
если что это эта библиотека https://github.com/augustjune/canoe
источник

Oℕ

Oleg ℕizhnik in Scala User Group
что такое монада.
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Oleg ℕizhnik
что такое монада.
ну вопрос кстати  разумный, там на F нет баунда про Monad
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
TelegramClient <: Monad?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Λнтон Войцишевский
ну вопрос кстати  разумный, там на F нет баунда про Monad
источник

NV

Nikita Vilunov in Scala User Group
ну видимо Scenario монада всегда
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Λнтон Войцишевский
TelegramClient <: Monad?
deriving Monad Scenario via Episode
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Oleg ℕizhnik
deriving Monad Scenario via Episode
все понял, зря быканул
источник

Oℕ

Oleg ℕizhnik in Scala User Group
fulcanelly
Переслано от fulcanelly
Кто знает скалу или этот патерн, можете обьяснить как и что здесь происходит?
Я понимаю какой должен быть результат выполнения но не понимаю как именно его достигли. Для возвращаемого типа eval и expect реализовали метод flatMap?
И еще непонятно что если клиент уже прошел какой-то сценарий, как он при следущем сообщении пропускает пройденные ?
Патерн называется "монада".
Да, для типа Scenario реализовали методы flatMap и статический pure
Как конкретно работает монада для подобного юзкейса в паре слов не объяснишь с нуля
Сначала скажите, какой у вас уровень понимания монад и фримонад
источник

R

RAFIZ in Scala User Group
Oleg ℕizhnik
Патерн называется "монада".
Да, для типа Scenario реализовали методы flatMap и статический pure
Как конкретно работает монада для подобного юзкейса в паре слов не объяснишь с нуля
Сначала скажите, какой у вас уровень понимания монад и фримонад
а какие там уровни понимания монад могут быть?)

либо знаешь что такое монада, либо нет. разве ни?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
а какие там уровни понимания монад могут быть?)

либо знаешь что такое монада, либо нет. разве ни?
фримонады знаете что такое?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
какой, например, тип процесса описывает Free[E => *, A]
источник

Oℕ

Oleg ℕizhnik in Scala User Group
если продолжить и ответить на вопрос - какой тип процесса описывает Free[ReaderT[F, E, *], A]
источник

Oℕ

Oleg ℕizhnik in Scala User Group
или Free[ReaderT[WriterT[F, List[Response], *], Request *], A]
источник

f

fulcanelly in Scala User Group
Oleg ℕizhnik
Патерн называется "монада".
Да, для типа Scenario реализовали методы flatMap и статический pure
Как конкретно работает монада для подобного юзкейса в паре слов не объяснишь с нуля
Сначала скажите, какой у вас уровень понимания монад и фримонад
вообще не знаю монады
источник

Oℕ

Oleg ℕizhnik in Scala User Group
можно понять как с помощью монады можно описать диалоговый процесс
источник

Oℕ

Oleg ℕizhnik in Scala User Group
fulcanelly
вообще не знаю монады
ну тогда, быстро не объяснить - но да, по сути вы конструируете элемент типа данных, который описывает процесс и внутри себя содержит обработки переходов на следующий шаг, входящих сообщений, фильтров и т.п.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
а какие там уровни понимания монад могут быть?)

либо знаешь что такое монада, либо нет. разве ни?
ну я перепонимал монаду раз 7 в своей жизни
источник

f

fulcanelly in Scala User Group
Oleg ℕizhnik
ну тогда, быстро не объяснить - но да, по сути вы конструируете элемент типа данных, который описывает процесс и внутри себя содержит обработки переходов на следующий шаг, входящих сообщений, фильтров и т.п.
а если вдруг понадобится вынести состояние в дб ? тогда получается придется модифицировать этот тип данных ?
источник

f

fulcanelly in Scala User Group
не мы же управляем стейтом а он выходит
источник