io-choice-0.0.5: Choice for IO and lifted IO

Safe HaskellNone

Control.Exception.IOChoice.Lifted.TH

Description

This package provides a function to generate a choice operator in lifted IO monad by specifying exceptions to be caught.

Synopsis

Documentation

newIOChoice :: [Name] -> ExpQSource

A function to generate a choice operator in lifted IO monad. IOException is automatically added to specified exceptions. So, goNext can be used with the new operator.

 {-# LANGUAGE TemplateHaskell #-}
 import Control.Exception
 import Control.Exception.IOChoice.Lifted.TH

 (||>>) :: MonadBaseControl IO m => m a -> m a -> m a
 (||>>) = $(newIOChoice [''ErrorCall, ''ArithException])