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.
|
|
"""]]
|