Skip to content

Instantly share code, notes, and snippets.

@mmenestret
Last active September 14, 2018 09:56
Show Gist options
  • Save mmenestret/78ffe12a1e2aa347d4b8f171c2dbdbf7 to your computer and use it in GitHub Desktop.
Save mmenestret/78ffe12a1e2aa347d4b8f171c2dbdbf7 to your computer and use it in GitHub Desktop.
Local effect elimination
type Task[A] = IO[Throwable, A]
def createMonadState[S]: Task[MonadState[Task, S]] = ???
def myLocalState[F[_]: MonadState[?, MyStateType]]: F[Boolean] = ???
for {
monadState <- createMonadState[MyStateType]
result <- myLocalState[MyIO](monadState)
} yield result
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment