25 lines
367 B
Markdown
25 lines
367 B
Markdown
|
---
|
|||
|
title: Monad
|
|||
|
localeTitle: 单子
|
|||
|
---
|
|||
|
# Monad Laws
|
|||
|
|
|||
|
数据类型必须满足3个法则才能被视为monad
|
|||
|
|
|||
|
# 也许莫纳德
|
|||
|
|
|||
|
```haskell
|
|||
|
justHead :: Maybe Char
|
|||
|
justHead = do
|
|||
|
(x:xs) <- Just ""
|
|||
|
return x
|
|||
|
```
|
|||
|
|
|||
|
# 列出Monad
|
|||
|
|
|||
|
回归与纯粹的应用相同
|
|||
|
|
|||
|
实例Monad \[\]在哪里
|
|||
|
return x = \[x\]
|
|||
|
xs >> = f = concat(map f xs)
|
|||
|
失败\_ = \[\]
|