22 lines
		
	
	
		
			550 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			22 lines
		
	
	
		
			550 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: List Comprehensions
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## List Comprehensions
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								List comprehensions are a powerful tool in haskell for working with sets.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```haskell
							 | 
						||
| 
								 | 
							
								someNumbers :: [Int] # a list of integers containing, 1, 2 and 3
							 | 
						||
| 
								 | 
							
								someNumbers = [1,2,3] 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								allLower  :: [Char] 
							 | 
						||
| 
								 | 
							
								allLower = [toLower c | c <- "Hello, World!" ]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								parity :: [(Int, Boolean)]
							 | 
						||
| 
								 | 
							
								parity = [ ( x , even x ) | x <- [1,2,3] ]
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								Parity produces the following set: `[ (1, False), (2, True), (3, False) ]`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The right hand side of the list comprehension is composed of two parts; a generator and guards.
							 |