           SPELL=haskell-safe
         VERSION=0.3.16
          SOURCE="safe-$VERSION.tar.gz"
   SOURCE_URL[0]=http://hackage.haskell.org/package/safe-$VERSION/$SOURCE
     SOURCE_HASH=sha512:ba401085ecdb0d2e37128ef9e8b610a36bfff5fffc9423e9e65e96a5690ee586ed60486e3d86dd0cf02f372663bbc72e3b78a767548729f40b43708e7ec086ca
SOURCE_DIRECTORY="$BUILD_DIRECTORY/safe-$VERSION"
        WEB_SITE="https://github.com/ndmitchell/safe#readme"
      LICENSE[0]="BSD3"
         ENTERED=20150626
        KEYWORDS=""
           SHORT="Library of safe (exception free) functions"
cat << EOF
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.
EOF
