spoon-0.3.1: Catch errors thrown from pure computations.

Copyright(c) Matt Morrow & Dan Peebles
Licensesee LICENSE
Maintainerpumpkingod@gmail.com
Stabilityexperimental
Portabilitynon-portable (Scoped Type Variables)
Safe HaskellNone
LanguageHaskell98

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)] #

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

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 a #

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 a #

Like spoon, but only evaluates to WHNF.