25 lines
427 B
Markdown
25 lines
427 B
Markdown
|
---
|
||
|
title: Monad
|
||
|
localeTitle: Mônada
|
||
|
---
|
||
|
# Leis de Monad
|
||
|
|
||
|
Existem 3 leis que devem ser satisfeitas por um tipo de dados para serem consideradas como mônadas
|
||
|
|
||
|
# Talvez Mônada
|
||
|
|
||
|
```haskell
|
||
|
justHead :: Maybe Char
|
||
|
justHead = do
|
||
|
(x:xs) <- Just ""
|
||
|
return x
|
||
|
```
|
||
|
|
||
|
# Listar Monad
|
||
|
|
||
|
retorno é o mesmo que puro de aplicativo
|
||
|
|
||
|
instância Monad \[\] onde
|
||
|
return x = \[x\]
|
||
|
xs >> = f = concat (mapa f xs)
|
||
|
falhar \_ = \[\]
|