safe
Library of safe (exception free) functions
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@. This package is divided into three modules: * "Safe" contains safe variants of @Prelude@ and @Data.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) and @take@ (errors if there are not enough elements), then wraps them to provide safe variants.
- base < 5
- 0.3.21
- 0.3.20
- 0.3.19
- 0.3.18
- 0.3.17
- 0.3.16
- 0.3.15
- 0.3.14
- 0.3.13
- 0.3.12
- 0.3.11
- 0.3.10
- 0.3.9
- 0.3.8
- 0.3.7
- 0.3.6
- 0.3.5
- 0.3.4
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3
- 0.2