Skip to content

Commit 87bd95f

Browse files
authored
Merge pull request #110 from purescript/modify_
Add modify_
2 parents 6a64dd6 + c3e4c3c commit 87bd95f

File tree

4 files changed

+6
-3
lines changed

4 files changed

+6
-3
lines changed

src/Control/Monad/RWS.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import Prelude
1616

1717
import Control.Monad.Reader.Class (ask, asks, local) as Exports
1818
import Control.Monad.RWS.Trans (class MonadTrans, RWSResult(..), RWST(..), evalRWST, execRWST, lift, mapRWST, runRWST, withRWST)
19-
import Control.Monad.State.Class (get, gets, state, put, modify) as Exports
19+
import Control.Monad.State.Class (get, gets, state, put, modify, modify_) as Exports
2020
import Control.Monad.Trans.Class (lift) as Exports
2121
import Control.Monad.Writer.Class (censor, listen, listens, pass, tell) as Exports
2222

src/Control/Monad/State.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ module Control.Monad.State
1313

1414
import Prelude
1515

16-
import Control.Monad.State.Class (class MonadState, get, gets, modify, put, state)
16+
import Control.Monad.State.Class (class MonadState, get, gets, modify, modify_, put, state)
1717
import Control.Monad.State.Trans (class MonadTrans, StateT(..), evalStateT, execStateT, lift, mapStateT, runStateT, withStateT)
1818

1919
import Data.Identity (Identity(..))

src/Control/Monad/State/Class.purs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,6 @@ put s = state \_ -> Tuple unit s
4040
-- | value is the new state value.
4141
modify :: forall s m. MonadState s m => (s -> s) -> m s
4242
modify f = state \s -> let s' = f s in Tuple s' s'
43+
44+
modify_ :: forall s m. MonadState s m => (s -> s) -> m Unit
45+
modify_ f = state \s -> Tuple unit (f s)

src/Control/Monad/State/Trans.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import Control.Monad.Cont.Class (class MonadCont, callCC)
1515
import Control.Monad.Error.Class (class MonadThrow, class MonadError, catchError, throwError)
1616
import Control.Monad.Reader.Class (class MonadAsk, class MonadReader, ask, local)
1717
import Control.Monad.Rec.Class (class MonadRec, tailRecM, Step(..))
18-
import Control.Monad.State.Class (class MonadState, get, gets, modify, put, state)
18+
import Control.Monad.State.Class (class MonadState, get, gets, modify, modify_, put, state)
1919
import Control.Monad.Trans.Class (class MonadTrans, lift)
2020
import Control.Monad.Writer.Class (class MonadWriter, class MonadTell, pass, listen, tell)
2121
import Control.MonadPlus (class MonadPlus)

0 commit comments

Comments
 (0)