25 lines
430 B
Markdown
25 lines
430 B
Markdown
|
---
|
||
|
title: Monad
|
||
|
localeTitle: Monada
|
||
|
---
|
||
|
# Leyes de la mónada
|
||
|
|
||
|
Hay 3 leyes que deben ser cumplidas por un tipo de datos para ser considerado como mónada
|
||
|
|
||
|
# Tal vez mónada
|
||
|
|
||
|
```haskell
|
||
|
justHead :: Maybe Char
|
||
|
justHead = do
|
||
|
(x:xs) <- Just ""
|
||
|
return x
|
||
|
```
|
||
|
|
||
|
# Lista Mónada
|
||
|
|
||
|
El retorno es igual al puro de aplicativo.
|
||
|
|
||
|
caso de la mónada \[\] donde
|
||
|
devuelve x = \[x\]
|
||
|
xs >> = f = concat (mapa f xs)
|
||
|
falla \_ = \[\]
|