From d25c0a39ce8de063b32b5a97e0d380df0155cafe Mon Sep 17 00:00:00 2001 From: Fredrik Wieczerkowski Date: Mon, 7 Mar 2022 07:20:30 +0100 Subject: [PATCH] Add missing (<*>) operator for StateT --- src/Control/Monad/Trans/State.curry | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Control/Monad/Trans/State.curry b/src/Control/Monad/Trans/State.curry index e8925bb..e9b8b8d 100644 --- a/src/Control/Monad/Trans/State.curry +++ b/src/Control/Monad/Trans/State.curry @@ -14,6 +14,9 @@ instance Monad m => Functor (StateT s m) where instance Monad m => Applicative (StateT s m) where pure x = StateT $ \ s -> return (x, s) + mf <*> m = StateT $ \ s -> do (f, s') <- runStateT mf s + (x, s'') <- runStateT m s' + return (f x, s'') instance Monad m => Monad (StateT s m) where return = pure -- GitLab