safe
Version 0.3.16 revision 0 uploaded by NeilMitchell.
Package meta
- Synopsis
- Library of safe (exception free) functions
- Description
A library wrapping
Prelude
/Data.List
functions that can throw exceptions, such ashead
and!!
. Each unsafe function has up to four variants, e.g. withtail
:tail :: [a] -> [a]
, raises an error ontail []
.tailMay :: [a] -> Maybe [a]
, turns errors intoNothing
.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 oftail
.
This package is divided into three modules:
Safe contains safe variants of
Prelude
andData.List
functions.Safe.Foldable contains safe variants of
Foldable
functions.Safe.Exact creates crashing versions of functions like
zip
(errors if the lists are not equal) andtake
(errors if there are not enough elements), then wraps them to provide safe variants.
- Author
- Neil Mitchell <ndmitchell@gmail.com>
- Bug reports
- https://github.com/ndmitchell/safe/issues
- Category
- Unclassified
- Copyright
- Neil Mitchell 2007-2018
- Homepage
- https://github.com/ndmitchell/safe#readme
- Maintainer
- Neil Mitchell <ndmitchell@gmail.com>
- Package URL
- n/a
- Stability
- n/a