24 lines
		
	
	
		
			531 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			24 lines
		
	
	
		
			531 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: Monad
							 | 
						||
| 
								 | 
							
								localeTitle: الكائن الدقيق الاحادي الخلية
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								# قوانين موناد
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								هناك 3 قوانين يجب استيفائها بنوع بيانات ليتم اعتبارها موناد
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# ربما موناد
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 `justHead :: Maybe Char 
							 | 
						||
| 
								 | 
							
								 justHead = do 
							 | 
						||
| 
								 | 
							
								    (x:xs) <- Just "" 
							 | 
						||
| 
								 | 
							
								    return x 
							 | 
						||
| 
								 | 
							
								` 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# قائمة مناد
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								العودة هي نفسها نقية من التطبيقية
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								سبيل المثال موناد \[\] أين  
							 | 
						||
| 
								 | 
							
								return x = \[x\]  
							 | 
						||
| 
								 | 
							
								xs >> = f = concat (map f xs)  
							 | 
						||
| 
								 | 
							
								فشل \_ = \[\]
							 |