cabal-version: >= 1.6 build-type: Simple name: safe version: 0.3.6 license: BSD3 license-file: LICENSE category: Unclassified author: Neil Mitchell maintainer: Neil Mitchell copyright: Neil Mitchell 2007-2014 homepage: http://community.haskell.org/~ndm/safe/ synopsis: Library of safe (exception free) functions bug-reports: https://github.com/ndmitchell/safe/issues tested-with: GHC==7.8.2, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2 description: 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. extra-source-files: CHANGES.txt source-repository head type: git location: https://github.com/ndmitchell/safe.git library build-depends: base < 5 exposed-modules: Safe Safe.Exact Safe.Foldable other-modules: Safe.Util