diff --git a/comonad-extras.cabal b/comonad-extras.cabal index fc3745a..77a2f0d 100644 --- a/comonad-extras.cabal +++ b/comonad-extras.cabal @@ -1,7 +1,7 @@ name: comonad-extras category: Control, Comonads -version: 4.0 +version: 5.0 x-revision: 1 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE @@ -34,8 +34,8 @@ library build-depends: array >= 0.3 && < 0.6, - base >= 4 && < 4.7, - containers >= 0.4 && < 0.6, - comonad >= 4 && < 5, + base >= 4 && < 5, + containers >= 0.6 && < 0.7, + comonad >= 5 && < 6, distributive >= 0.3.2 && < 1, - semigroupoids >= 4 && < 5, - transformers >= 0.2 && < 0.4 + semigroupoids >= 5 && < 6, + transformers >= 0.5 && < 0.6 exposed-modules: Control.Comonad.Store.Zipper diff --git a/src/Control/Comonad/Store/Pointer.hs b/src/Control/Comonad/Store/Pointer.hs index 5044a1e..8d4c62d 100644 --- a/src/Control/Comonad/Store/Pointer.hs +++ b/src/Control/Comonad/Store/Pointer.hs @@ -41,7 +41,6 @@ module Control.Comonad.Store.Pointer , module Control.Comonad.Store.Class ) where -import Control.Applicative import Control.Comonad import Control.Comonad.Hoist.Class import Control.Comonad.Trans.Class @@ -51,27 +50,8 @@ import Control.Comonad.Env.Class import Data.Functor.Identity import Data.Functor.Extend import Data.Array - #ifdef __GLASGOW_HASKELL__ import Data.Typeable -instance (Typeable i, Typeable1 w) => Typeable1 (PointerT i w) where - typeOf1 diwa = mkTyConApp storeTTyCon [typeOf (i diwa), typeOf1 (w diwa)] - where - i :: PointerT i w a -> i - i = undefined - w :: PointerT i w a -> w a - w = undefined - -instance (Typeable i, Typeable1 w, Typeable a) => Typeable (PointerT i w a) where - typeOf = typeOfDefault - -storeTTyCon :: TyCon -#if __GLASGOW_HASKELL__ < 704 -storeTTyCon = mkTyCon "Control.Comonad.Trans.Store.Pointer.PointerT" -#else -storeTTyCon = mkTyCon3 "comonad-extras" "Control.Comonad.Trans.Store.Pointer" "PointerT" -#endif -{-# NOINLINE storeTTyCon #-} #endif type Pointer i = PointerT i Identity @@ -83,6 +63,9 @@ runPointer :: Pointer i a -> (Array i a, i) runPointer (PointerT (Identity f) i) = (f, i) data PointerT i w a = PointerT (w (Array i a)) i +#ifdef __GLASGOW_HASKELL__ + deriving Typeable +#endif runPointerT :: PointerT i w a -> (w (Array i a), i) runPointerT (PointerT g i) = (g, i) diff --git a/src/Control/Comonad/Store/Zipper.hs b/src/Control/Comonad/Store/Zipper.hs index 3b70c86..decc378 100644 --- a/src/Control/Comonad/Store/Zipper.hs +++ b/src/Control/Comonad/Store/Zipper.hs @@ -15,7 +15,6 @@ module Control.Comonad.Store.Zipper ( Zipper, zipper, zipper1, unzipper, size) where -import Control.Applicative import Control.Comonad (Comonad(..)) import Data.Functor.Extend import Data.Foldable