We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
appEval :: forall a (b :: TYPE rep). (a -> b) -> Eval a -> b appEval f (Eval (IO m)) = case runRW# m of (# _, a #) -> f a
Ignoring levity polymorphism, this could be implemented
appEval f m = runEval (f <$> m)
Moreover,
runEval = appEval id
But what makes this interesting, I think, is its relationship with >>=: aside from arity wibbles,
>>=
m >>= f = appEval f m
This strikes me as a really pleasant property.
The text was updated successfully, but these errors were encountered:
What things would this help explain? I feel like this doesn't add anything, runEval (f <$> m) is just as clear IMO.
runEval (f <$> m)
Sorry, something went wrong.
No branches or pull requests
Ignoring levity polymorphism, this could be implemented
Moreover,
But what makes this interesting, I think, is its relationship with
>>=
: aside from arity wibbles,This strikes me as a really pleasant property.
The text was updated successfully, but these errors were encountered: