packages feed

elevator 0.1.1 → 0.1.1.1

raw patch · 2 files changed

+6/−2 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Control.Elevator: instance (GHC.Base.Monad m, Control.Elevator.Tower m) => Control.Elevator.Tower (Control.Monad.Trans.Cont.ContT r m)
- Control.Elevator: instance (GHC.Base.Monad m, Control.Elevator.Tower m) => Control.Elevator.Tower (Control.Monad.Trans.Except.ExceptT e m)
- Control.Elevator: instance (GHC.Base.Monad m, Control.Elevator.Tower m) => Control.Elevator.Tower (Control.Monad.Trans.List.ListT m)
- Control.Elevator: instance (GHC.Base.Monad m, Control.Elevator.Tower m) => Control.Elevator.Tower (Control.Monad.Trans.Maybe.MaybeT m)
- Control.Elevator: instance (GHC.Base.Monad m, Control.Elevator.Tower m) => Control.Elevator.Tower (Control.Monad.Trans.Reader.ReaderT r m)
- Control.Elevator: instance (GHC.Base.Monad m, Control.Elevator.Tower m) => Control.Elevator.Tower (Control.Monad.Trans.State.Lazy.StateT s m)
- Control.Elevator: instance (GHC.Base.Monad m, Control.Elevator.Tower m) => Control.Elevator.Tower (Control.Monad.Trans.State.Strict.StateT s m)
- Control.Elevator: instance (GHC.Base.Monoid w, GHC.Base.Monad m, Control.Elevator.Tower m) => Control.Elevator.Tower (Control.Monad.Trans.Writer.Lazy.WriterT w m)
- Control.Elevator: instance (GHC.Base.Monoid w, GHC.Base.Monad m, Control.Elevator.Tower m) => Control.Elevator.Tower (Control.Monad.Trans.Writer.Strict.WriterT w m)
- Control.Elevator: instance Control.Elevator.Tower ((->) r)
- Control.Elevator: instance Control.Elevator.Tower (Data.Either.Either e)
- Control.Elevator: instance Control.Elevator.Tower (Data.OpenUnion1.Clean.Union u)
- Control.Elevator: instance Control.Elevator.Tower (GHC.ST.ST s)
- Control.Elevator: instance Control.Elevator.Tower Data.Functor.Identity.Identity
- Control.Elevator: instance Control.Elevator.Tower GHC.Base.Maybe
- Control.Elevator: instance Control.Elevator.Tower GHC.Types.IO
- Control.Elevator: instance Control.Elevator.Tower []
+ Control.Elevator: instance (Error e, Monad m, Tower m) => Tower (ErrorT e m)
+ Control.Elevator: instance (Monad m, Tower m) => Tower (ContT r m)
+ Control.Elevator: instance (Monad m, Tower m) => Tower (ListT m)
+ Control.Elevator: instance (Monad m, Tower m) => Tower (MaybeT m)
+ Control.Elevator: instance (Monad m, Tower m) => Tower (ReaderT r m)
+ Control.Elevator: instance (Monad m, Tower m) => Tower (StateT s m)
+ Control.Elevator: instance (Monoid w, Monad m, Tower m) => Tower (WriterT w m)
+ Control.Elevator: instance Tower ((->) r)
+ Control.Elevator: instance Tower (Either e)
+ Control.Elevator: instance Tower (ST s)
+ Control.Elevator: instance Tower (Union u)
+ Control.Elevator: instance Tower IO
+ Control.Elevator: instance Tower Identity
+ Control.Elevator: instance Tower Maybe
+ Control.Elevator: instance Tower []
- Control.Elevator: class Tower f where type family Floors f :: List (* -> *) Floors f = Empty toLoft = exhaust
+ Control.Elevator: class Tower f where type family Floors f :: List (* -> *) type instance Floors f = Empty toLoft = exhaust

Files

elevator.cabal view
@@ -1,5 +1,5 @@ name:                elevator
-version:             0.1.1
+version:             0.1.1.1
 synopsis:            Immediately lifts to a desired level
 description:         This package provides 'elevate' function which composes 'lift'-like transformations automatically.
 homepage:            https://github.com/fumieval/elevator
src/Control/Elevator.hs view
@@ -30,6 +30,10 @@ import Data.Monoid
 import Control.Monad.ST
 
+#ifndef MIN_VERSION_transformers
+#define MIN_VERSION_transformers(x,y,z) 1
+#endif
+
 #if MIN_VERSION_transformers(0,4,0)
 import Control.Monad.Trans.Except
 #else
@@ -146,7 +150,7 @@     ||> lift . toLoft1
 #else
 instance (Error e, Monad m, Tower m) => Tower (ErrorT e m) where
-  type Floors (ExceptT e m) = Either e
+  type Floors (ErrorT e m) = Either e
     :> Floors1 m
   toLoft = ErrorT . return
     ||> lift . toLoft1