git-annex-5.20131221: standalone/no-th/haskell-patches/lens_no-TH.patch
From 2b5fa1851a84f58b43e7c4224bd5695a32a80de9 Mon Sep 17 00:00:00 2001
From: dummy <dummy@example.com>
Date: Wed, 18 Dec 2013 03:27:54 +0000
Subject: [PATCH] avoid TH
---
lens.cabal | 13 +------------
src/Control/Lens.hs | 4 ++--
src/Control/Lens/Internal/Exception.hs | 30 ------------------------------
src/Control/Lens/Prism.hs | 2 --
4 files changed, 3 insertions(+), 46 deletions(-)
diff --git a/lens.cabal b/lens.cabal
index 8477892..a6ac7a5 100644
--- a/lens.cabal
+++ b/lens.cabal
@@ -10,7 +10,7 @@ stability: provisional
homepage: http://github.com/ekmett/lens/
bug-reports: http://github.com/ekmett/lens/issues
copyright: Copyright (C) 2012-2013 Edward A. Kmett
-build-type: Custom
+build-type: Simple
tested-with: GHC == 7.6.3
synopsis: Lenses, Folds and Traversals
description:
@@ -173,7 +173,6 @@ library
containers >= 0.4.0 && < 0.6,
distributive >= 0.3 && < 1,
filepath >= 1.2.0.0 && < 1.4,
- generic-deriving >= 1.4 && < 1.7,
ghc-prim,
hashable >= 1.1.2.3 && < 1.3,
MonadCatchIO-transformers >= 0.3 && < 0.4,
@@ -235,14 +234,12 @@ library
Control.Lens.Review
Control.Lens.Setter
Control.Lens.Simple
- Control.Lens.TH
Control.Lens.Traversal
Control.Lens.Tuple
Control.Lens.Type
Control.Lens.Wrapped
Control.Lens.Zipper
Control.Lens.Zoom
- Control.Monad.Error.Lens
Control.Parallel.Strategies.Lens
Control.Seq.Lens
Data.Array.Lens
@@ -266,12 +263,8 @@ library
Data.Typeable.Lens
Data.Vector.Lens
Data.Vector.Generic.Lens
- Generics.Deriving.Lens
- GHC.Generics.Lens
System.Exit.Lens
System.FilePath.Lens
- System.IO.Error.Lens
- Language.Haskell.TH.Lens
Numeric.Lens
if flag(safe)
@@ -370,7 +363,6 @@ test-suite doctests
deepseq,
doctest >= 0.9.1,
filepath,
- generic-deriving,
mtl,
nats,
parallel,
@@ -396,7 +388,6 @@ benchmark plated
comonad,
criterion,
deepseq,
- generic-deriving,
lens,
transformers
@@ -431,7 +422,6 @@ benchmark unsafe
comonads-fd,
criterion,
deepseq,
- generic-deriving,
lens,
transformers
@@ -448,6 +438,5 @@ benchmark zipper
comonads-fd,
criterion,
deepseq,
- generic-deriving,
lens,
transformers
diff --git a/src/Control/Lens.hs b/src/Control/Lens.hs
index f7c6548..125153e 100644
--- a/src/Control/Lens.hs
+++ b/src/Control/Lens.hs
@@ -59,7 +59,7 @@ module Control.Lens
, module Control.Lens.Review
, module Control.Lens.Setter
, module Control.Lens.Simple
-#ifndef DISABLE_TEMPLATE_HASKELL
+#if 0
, module Control.Lens.TH
#endif
, module Control.Lens.Traversal
@@ -89,7 +89,7 @@ import Control.Lens.Reified
import Control.Lens.Review
import Control.Lens.Setter
import Control.Lens.Simple
-#ifndef DISABLE_TEMPLATE_HASKELL
+#if 0
import Control.Lens.TH
#endif
import Control.Lens.Traversal
diff --git a/src/Control/Lens/Internal/Exception.hs b/src/Control/Lens/Internal/Exception.hs
index 387203e..bb1ca10 100644
--- a/src/Control/Lens/Internal/Exception.hs
+++ b/src/Control/Lens/Internal/Exception.hs
@@ -128,18 +128,6 @@ class Handleable e (m :: * -> *) (h :: * -> *) | h -> e m where
handler_ l = handler l . const
{-# INLINE handler_ #-}
-instance Handleable SomeException IO Exception.Handler where
- handler = handlerIO
-
-instance Handleable SomeException m (CatchIO.Handler m) where
- handler = handlerCatchIO
-
-handlerIO :: forall a r. Getting (First a) SomeException a -> (a -> IO r) -> Exception.Handler r
-handlerIO l f = reify (preview l) $ \ (_ :: Proxy s) -> Exception.Handler (\(Handling a :: Handling a s IO) -> f a)
-
-handlerCatchIO :: forall m a r. Getting (First a) SomeException a -> (a -> m r) -> CatchIO.Handler m r
-handlerCatchIO l f = reify (preview l) $ \ (_ :: Proxy s) -> CatchIO.Handler (\(Handling a :: Handling a s m) -> f a)
-
------------------------------------------------------------------------------
-- Helpers
------------------------------------------------------------------------------
@@ -159,21 +147,3 @@ supply = unsafePerformIO $ newIORef 0
-- | This permits the construction of an \"impossible\" 'Control.Exception.Handler' that matches only if some function does.
newtype Handling a s (m :: * -> *) = Handling a
--- the m parameter exists simply to break the Typeable1 pattern, so we can provide this without overlap.
--- here we simply generate a fresh TypeRep so we'll fail to compare as equal to any other TypeRep.
-instance Typeable (Handling a s m) where
- typeOf _ = unsafePerformIO $ do
- i <- atomicModifyIORef supply $ \a -> let a' = a + 1 in a' `seq` (a', a)
- return $ mkTyConApp (mkTyCon3 "lens" "Control.Lens.Internal.Exception" ("Handling" ++ show i)) []
- {-# INLINE typeOf #-}
-
--- The @Handling@ wrapper is uninteresting, and should never be thrown, so you won't get much benefit here.
-instance Show (Handling a s m) where
- showsPrec d _ = showParen (d > 10) $ showString "Handling ..."
- {-# INLINE showsPrec #-}
-
-instance Reifies s (SomeException -> Maybe a) => Exception (Handling a s m) where
- toException _ = SomeException HandlingException
- {-# INLINE toException #-}
- fromException = fmap Handling . reflect (Proxy :: Proxy s)
- {-# INLINE fromException #-}
diff --git a/src/Control/Lens/Prism.hs b/src/Control/Lens/Prism.hs
index 45b5cfe..88c7ff9 100644
--- a/src/Control/Lens/Prism.hs
+++ b/src/Control/Lens/Prism.hs
@@ -53,8 +53,6 @@ import Unsafe.Coerce
import Data.Profunctor.Unsafe
#endif
-{-# ANN module "HLint: ignore Use camelCase" #-}
-
-- $setup
-- >>> :set -XNoOverloadedStrings
-- >>> import Control.Lens
--
1.8.5.1