[Haskell-cafe] Funny State monad dependency

Hans Aberg haberg at math.su.se
Wed Apr 16 08:56:33 EDT 2008


When I load the State module in Hugs, then I can define the function  
f below, but I do not immediately see exactly what function "return"  
returns. Explanation welcome.

For example:
   > f [2..4] [6..9]
   [6,7,8,9,6,7,8,9,6,7,8,9]
That is, it just repeats the second argument as many times as the  
length of the second argument.

   Hans Aberg

--------
import Control.Monad.State

f :: Monad a => a b -> a c -> a c
f x y = x >>= (return y)
--------



More information about the Haskell-Cafe mailing list