20 lines
		
	
	
	
		
			805 B
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
	
		
			805 B
			
		
	
	
	
		
			Text
		
	
	
	
	
	
[[!comment format=mdwn
 | 
						|
 username="https://www.google.com/accounts/o8/id?id=AItOawnq-RfkVpFN15SWvQ2lpSGAi0XpNQuLxKM"
 | 
						|
 nickname="Yuval"
 | 
						|
 subject="What about safe?"
 | 
						|
 date="2014-07-06T10:45:59Z"
 | 
						|
 content="""
 | 
						|
https://hackage.haskell.org/package/safe
 | 
						|
 | 
						|
> A library wrapping Prelude/Data.List functions that can throw exceptions, such as head and !!. Each unsafe function has up to four variants, e.g. with tail:
 | 
						|
> 
 | 
						|
>     tail :: [a] -> [a], raises an error on tail [].
 | 
						|
 | 
						|
>     tailMay :: [a] -> Maybe [a], turns errors into Nothing.
 | 
						|
 | 
						|
>     tailDef :: [a] -> [a] -> [a], takes a default to return on errors.
 | 
						|
 | 
						|
>     tailNote :: String -> [a] -> [a], takes an extra argument which supplements the error message.
 | 
						|
 | 
						|
>     tailSafe :: [a] -> [a], returns some sensible default if possible, [] in the case of tail.
 | 
						|
"""]]
 |