Open natefaubion opened 2 years ago
The law for MonadAsk ask >>= \_ -> ask = ask only requires Applicative ask *> ask = ask. You can't execute effects depending on the environment, but you can compute results depending on the environment.
ask >>= \_ -> ask = ask
ask *> ask = ask
example = f <$> ask <*> other
Would the class be renamed to ApplicativeAsk?
ApplicativeAsk
I think it would be ApplyAsk. Technically, only Apply is needed for the law.
ApplyAsk
Apply
The law for MonadAsk
ask >>= \_ -> ask = ask
only requires Applicativeask *> ask = ask
. You can't execute effects depending on the environment, but you can compute results depending on the environment.