在Haskell中,为什么是类型签名 forever
forever :: Monad m => m a -> m b
Run Code Online (Sandbox Code Playgroud)
具体为什么不是这样:: Monad m => m a -> m a呢?当然,我们所采取行动的monad类型并没有改变一半forever?
功能如:
forever' :: Monad m => m a -> m a
forever' = forever
Run Code Online (Sandbox Code Playgroud)
似乎完全一样.