rescue-0.2.0: library/Data/Result.hs
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE TypeFamilies #-}
module Data.Result
( fromEither
-- * Reexports
, module Data.Result.Types
) where
import Data.Result.Types
import Data.WorldPeace
import Control.Monad.Raise
-- | Upgrade from an 'Either' to a 'Result'
fromEither :: Subset err (OpenUnion errs) => Either err val -> Result errs val
fromEither (Right val) = Ok val
fromEither (Left err) = Err (include err)