Scalaz StateT, нет доступа, чтобы получить / изменить / положить? - PullRequest
0 голосов
/ 10 ноября 2018

В scalaz есть способ получить доступ к:

blah: StateT[Future, state, result] = {
    _ <- StateT.get[state] 
    _ ...
}

Кажется, что только get modify и т. Д. Определены только для State, а не StateT. Я могу найти ссылки на них для StateT в исходном коде, но я не могу найти способ импортировать их. Если я переключаюсь на кошек, я могу получить доступ к StateT.get, но я в проекте, использующем скалаз.

Спасибо

1 Ответ

0 голосов
/ 10 ноября 2018

IIRC способ использовать эти операции в Scalaz - извлечь экземпляр MonadState и напрямую вызвать методы:

val S = MonadState[StateT[Future, State, ?], State]

val blah = for {
  state <- S.get
...

(этот фрагмент использует kind-проектор синтаксис)

...