Portability | non-portable (Scoped Type Variables) |
---|---|

Stability | experimental |

Maintainer | pumpkingod@gmail.com |

Safe Haskell | None |

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.

# Documentation

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`

.

teaspoonWithHandles :: Handles a -> a -> Maybe aSource