там подразумевается имплементировать интерпретаторы которые должны выражатся в терминах другого интерпретатора ?
вот это все:
val bankingLogging : BankingF ~< Halt LoggingF
val bankingProtocol : BankingF ~< ProtocolF
val protocolSocket : ProtocolF ~< SocketF
val loggingFile : LoggingF ~< FileF
val execFile : FileF ~> IO
val execSocket : SocketF ~> IO
я не читал, но подозреваю, что очередная бесплатная раздача фри монад. Free monads are not free. Мне кажется, что хорошая идея - это написать монад-трансформер, который позволяте комбинировать future, option и делать из них на выходе какой-нибудь spray Response. Это позволит потом в одном читабельном for comprehension использовать любые бизнес-функции и не перегонять их в toFutureOption orError “bla-bla-error”. А использовать монад-трансформеры для бизнес-логики - это очень долго как писать, так и после тебя читать.
Да я разобрался как их имплементировать и чейнить
Обсуждают сегодня