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