我正在努力更好地了解monads.所以我正在尝试为几个monad编写return,join和bind实现.
然而,当来到两个单身的monad时,我有点困惑
join :: m (m a) -> m a
Run Code Online (Sandbox Code Playgroud)
m (m a)意味着monad包含在monad中,但如果使用双重monad则隐含着什么价值.例如State Monad:s或a?State Monad的正确加入签名是什么样的?
Li-*_*Xia 10
状态monad类型声明为State s a; 它只与m aif 统一m ~ State s.
join :: State s (State s a) -> State s a
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |