spoon-0.3.1: Catch errors thrown from pure computations.

Portabilitynon-portable (Scoped Type Variables)
Stabilityexperimental
Maintainerpumpkingod@gmail.com
Safe HaskellNone

Control.Spoon

Description

Two functions for catching pureish exceptions in pure values. This library considers pureish to be any error call or undefined, failed pattern matches, arithmetic exceptions, and array bounds exceptions.

Synopsis

Documentation

type Handles a = [Handler (Maybe a)]Source

spoon :: NFData a => a -> Maybe aSource

Evaluate a value to normal form and return Nothing if any exceptions are thrown during evaluation. For any error-free value, spoon = Just.

spoonWithHandles :: NFData a => Handles a -> a -> Maybe aSource

Evaluate a value to normal form and return Nothing if any exceptions are thrown during evaluation. For any error-free value, spoon = Just.

teaspoon :: a -> Maybe aSource

Like spoon, but only evaluates to WHNF.