93 lines
2.9 KiB
Diff
93 lines
2.9 KiB
Diff
|
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
|