h&     (C) 2017 Tim McGilchrist BSD-style (see the file LICENSE)timmcgil@gmail.com experimentalportable Safe-Inferred%transformers-eitherType alias for ExceptTtransformers-eitherExtractor for computations in the either monad. (The inverse of ).transformers-eitherConstructor for computations in the either monad. (The inverse of ).transformers-either)Map over both arguments at the same time.Specialised version of bimap for .transformers-either"Constructor for left computations.transformers-either#Constructor for right computations.transformers-eithertransformers-either Hoist an  into an  m. transformers-either7Map the unwrapped computation using the given function. transformers-eitherMap the 0 unwrapped computation using the given function. transformers-eitherMap the 0 unwrapped computation using the given function. transformers-eitherHoist   a into  a. transformers-eitherHoist  m into an  n.transformers-eitherTry an ! action inside an  . If the ! action throws an ", catch it and wrap it with the provided handler to convert it to the error type of the % transformer. Exceptions other than "% will escape the EitherT transformer.Note: IOError is a type synonym for ".transformers-eitherFlipped .transformers-eitherTry any monad action and catch the specified exception, wrapping it to convert it to the error type of the  transformer. Exceptions other that the specified exception type will escape the  transformer.Warning*: This function should be used with caution! In particular, it is bad practice to catch # because that includes asynchronous exceptions like stack/heap overflow, thread killed and user interrupt. Trying to handle  StackOverflow,  HeapOverflow and  ThreadKilled exceptions could cause your program to crash or behave in unexpected ways.transformers-eitherFlipped .transformers-eitherTry a monad action and catch any of the exceptions caught by the provided handlers. The handler for each exception type needs to wrap it to convert it to the error type of the  transformer. Exceptions not explicitly handled by the provided handlers will escape the  transformer.transformers-eitherFlipped .transformers-eitherHandle an error. Equivalent to  handleError in mtl package.transformers-eitherFlipped .transformers-eitherAcquire a resource in  and then perform an action with it, cleaning up afterwards regardless of .This function does not clean up in the event of an exception. Prefer  in any impure setting.transformers-eitherAcquire a resource in EitherT and then perform an action with it, cleaning up afterwards regardless of  or exception.Like , but the cleanup is called even when the bracketed function throws an exception. Exceptions in the bracketed function are caught to allow the cleanup to run and then rethrown.transformers-eitherConvert an Either to a Maybe and execute the supplied handler in the Left case.transformers-either/Handle the Left constructor in returned Either.transformers-either1Handle the Nothing constructor in returned Maybe.   Safe-Inferredtransformers-either8orDieWithCode with an exit code of 1 in case of an errortransformers-either,An idiom for failing hard on EitherT errors.3This really dies*. There is no other way to say it.The reason it lives with command line parser tooling, is that it is the only valid place to actually exit like this. Be appropriately wary.$      ! " #$%&'()*+,-0transformers-either-0.1.3-9tSJIgjd8dTHKCX4JDwv7zControl.Monad.Trans.EitherControl.Monad.Trans.Either.ExitEitherT runEitherT newEitherTeitherTleftright mapEitherT hoistEither bimapEitherT firstEitherT secondEitherT hoistMaybe hoistEitherThandleIOEitherTcatchIOEitherT handleEitherT catchEitherThandlesEitherTcatchesEitherT handleLeftT catchLeftTbracketEitherTbracketExceptionThushMonLeft onNothingorDie orDieWithCodebase Data.EitherEitherLeftRight GHC.MaybeMaybeghc-prim GHC.TypesIOGHC.IO.Exception IOExceptionGHC.Exception.Type SomeException