1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
cabal-version: >= 1.6
build-type: Simple
name: safe
version: 0.3.8
license: BSD3
license-file: LICENSE
category: Unclassified
author: Neil Mitchell <ndmitchell@gmail.com>
maintainer: Neil Mitchell <ndmitchell@gmail.com>
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
|