Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Scala Reader Monad example from: http://book.realworldhaskell.org/read/monad-transformers.html
- */
- def myName(step:String) = for {
- name <- ask[Id, String]
- } yield (step ++ ", I am " ++ name)
- def localExample = for {
- a <- myName("First")
- b <- myName("Second").local(_ ++ "dy")
- c <- myName("Third")
- } yield (a,b,c)
- localExample runReaderT "Fred" : (String,String,String)
- // Res: (String, String, String) = (First, I am Fred,Second, I am Freddy,Third, I am Fred)
Advertisement
Add Comment
Please, Sign In to add comment