在haskell中return是与其他语言不一样的,return是Monad过程,结果是Monad,所以我们可以从return中取出结果即反Monad过程
Prelude> let a = return 1
Prelude> a
1
Prelude> :type a
a :: (Num a, Monad m) => m a
Prelude> b <- a
Prelude> b
1
Prelude>
在haskell中return是与其他语言不一样的,return是Monad过程,结果是Monad,所以我们可以从return中取出结果即反Monad过程
Prelude> let a = return 1
Prelude> a
1
Prelude> :type a
a :: (Num a, Monad m) => m a
Prelude> b <- a
Prelude> b
1
Prelude>