BSD Ports

devel/hs-safe 0.3.21nb4 NetBSD

Library for safe (pattern match free) functions

System
NetBSD
Repository
pkgsrc
Maintainer
[email protected]
License
modified-bsd
Categories
devel
Package size
199.7 KiB, 2224.1 KiB installed

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.

Install

Binary package:

pkgin install hs-safe

From pkgsrc:

cd /usr/pkgsrc/devel/hs-safe && make install clean

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

RepositoryVersion
NetBSD 10.1 x86_640.3.21nb4
NetBSD 10.1 aarch640.3.21nb4
SmartOS / illumos x86_640.3.21nb4
macOS 15 arm640.3.21nb4

Dependencies

Run dependencies 1