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 \_ = \[\] |