просто, но как сделать что-то свое не понятно.
Пытаюсь сделать механизм транзакций для функций.
У меня есть некая функция, которая возвращает результат и ждет завершения цепочки. Оборачиваем ее TransactionTask<ResultType>(someFn(TransactionTask<ResultType> it)) для ее запуска нужен общий completer.
Transaction инициализирует completer, принимает цепочку TransactionTask и по endTx() запускает стек.
Подскажите, с чего начать?
Вроде похоже на FreeMonad, но не совсем. Если често я никак не могу понять как из ФП объектов Монада, Функтор собрать то, что мне надо.
Что такое контекст тоже не совсем понятно. Iterable<A> Iterable - контекст, А конкретный тип объекта в этом контексте?
К сожалению, не scala обсудить будет тяжело, в особенности без кусков кода
Можно меня хоть к пониманию правильному подтолкнуть, что тут контекст, что эффект и с чего начать? у меня есть репа, она создает и возвращает TransactionTask<ResultType>. Это правильно или она должна принимать параметром монаду транзакций?
Я лично не понял, что вы подразумеваете под большинством из упомянутых терминов "контекст, эффект, транзакция", поэтому если будет конкретная задача, выраженная в коде, подталкивать проще будет
Обсуждают сегодня