úÎ<Ţ2Őj      !"#$%&'()*+,-. / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i 0jklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“;non-portable (multi-param classes, functional dependencies) experimentalMark Snyder, marks@ittc.ku.edu    ;non-portable (multi-param classes, functional dependencies) experimentalMark Snyder, marks@ittc.ku.edu get4 returns the state from the internals of the monad. put& replaces the state inside the monad. Monadic state transformer. 7Maps an old state to a new state inside a state monad. $ The old state is thrown away.  + Main> :t modify ((+1) :: Int -> Int) 1 modify (...) :: (MonadState Int a) => a () This says that  modify (+1) acts over any " Monad that is a member of the  MonadState class,  with an Int state. BGets specific component of the state, using a projection function  supplied.     ;non-portable (multi-param classes, functional dependencies) experimentalMark Snyder, marks@ittc.ku.edu”•–—˜™š›œžŸ Ą˘  !"#wjklmnopqrs٤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žtuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“żŔÁ”•–—˜™š›œžŸ Ą˘  !"# !"# !"#zjklmnopqrs٤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žtuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“żŔÁ”•–—˜™š›œžŸ Ą˘  !"#;non-portable (multi-param classes, functional dependencies) experimentalMark Snyder, marks@ittc.ku.edu $The reader monad transformer. FCan be used to add environment reading functionality to other monads. %&'()*A more general version of •. +,-?jklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“żŔÁ $%&'()*+,- &'()*$%+,- $%%&''()*+,- ./01Ă2345Ä6789ujklmnopqrs٤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žtuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“żŔÁ”•–—˜™š›œžŸ Ą˘ ./0123456789 012345./6789 .//01123456789 ;non-portable (multi-param classes, functional dependencies) experimentalMark Snyder, marks@ittc.ku.edu:;<=>?@ABCDEFGAjklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“żŔÁ :;<=>?@ABCDEFG<=>?@AB:;CDEFG:;;<==>?@ABCDEFG;non-portable (multi-param classes, functional dependencies)Mark Snyder, marks@ittc.ku.eduDjklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“żŔÁ :;<=>?@ABCDEFG ;non-portable (multi-param classes, functional dependencies) experimentalMark Snyder, marks@ittc.ku.eduHIJKLMNOPQRSTUAjklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“żŔÁ HIJKLMNOPQRSTUJKLMNOPHIQRSTUHIIJKKLMNOPQRSTU VWXYZ[\]^_Zjklmnopqrs٤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žtuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“żŔÁÂVWXYZ[\]^_ XYZ[\VW]^_ VWWXYYZ[\]^_;non-portable (multi-param classes, functional dependencies) experimentalMark Snyder, marks@ittc.ku.edu]jklmnopqrs٤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žtuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“żŔÁÂVWXYZ[\]^_ `abcdefghiZjklmnopqrs٤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žtuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“żŔÁÂ`abcdefghi bcdef`aghi `aabccdefghiĹ !"#$%&&''()*+,-./012233456789 & & ' ' ) * + , . / 0 1 : : ; ; < = > ? @ A B C D E : : ; ; < = > ? @ A B C D E F F G G H I J K L M F F G G H I J K L MNOPNOQNORNOSNTUNOVNOWNTXNYZN[\NY]NY^NY_NY`NYaNYbNYcNYdNYeNYfNYgNYhNYiNYjNYkNYlNYmNYnNYoNYpNYqNYrNYsNYtNYuNYvNYwNYxNYyNYzNY{NO|}~}~€}~}~‚}ƒ„}ƒ…}ƒ†}ƒ‡}ƒˆ}‰Š}‰‹}‰Œ}‰}‰Ž}‰N‘N’N“N”N•N–N–N—N˜N˜N™NšNšN›NœNœNNžNžNŸN N NĄN˘N˘NŁN¤N¤}ĽŚ}Ľ§}Ľ¨}ĽŠ ( -Ş mtlx-0.1.1Control.Monad.IndexControl.Monad.IdentityXControl.Monad.ReaderX.ClassControl.Monad.StateX.ClassControl.Monad.WriterX.ClassControl.Monad.RWSX.ClassControl.Monad.RWSX.LazyControl.Monad.ReaderXControl.Monad.RWSX.StrictControl.Monad.StateX.LazyControl.Monad.StateX.StrictControl.Monad.WriterX.LazyControl.Monad.WriterX.StrictControl.Monad.RWSXControl.Monad.StateXControl.Monad.WriterXIndexgetValflip23 IdentityX runIdentityX MonadReaderXaskxlocalxasksx MonadStateXgetxputxmodifyxgetsx MonadWriterXtellxlistenxpassxlistensxcensorx MonadRWSXRWSTXRWSXrunRWSXevalRWSXexecRWSXmapRWSXwithRWSXrunRWSTX evalRWSTX execRWSTXmapRWSTX withRWSTXReaderTXReaderX runReaderX mapReaderx withReaderx runReaderTX mapReaderTX withReaderTXStateTXStateX runStateX evalStatex execStatex mapStatex withStatex runStateTX evalStateTX execStateTX mapStateTX withStateTXWriterTXWriterX runWriterX execWriterX mapWriterX runWriterTX execWriterTX mapWriterTXbaseGHC.Basefail>>=>>returnControl.Monad.FixmfixMonadFunctorMonadFix Control.Monad MonadPlus Data.FunctionfixapliftM5liftM4liftM3liftM2liftMunlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinforever<=<>=>msumforM_forMfilterMguardmapM_mapM sequence_sequence=<<mplusmzerofmap mtl-1.1.1.0Control.Monad.Reader.Classaskslocalask MonadReaderControl.Monad.State.Classgetsmodifyputget MonadStateControl.Monad.Writer.Classcensorlistenspasslistentell MonadWriter Data.MonoidmconcatmappendmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLastControl.Monad.Translift MonadTransliftIOMonadIO