-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A small compatibility shim for the transformers library -- -- This package includes backported versions of types that were added to -- transformers in transformers 0.3, 0.4, and 0.5 for users who need -- strict transformers 0.2 or 0.3 compatibility to run on old versions of -- the platform, but also need those types. -- -- Those users should be able to just depend on transformers >= -- 0.2 and transformers-compat >= 0.3. -- -- Note: missing methods are not supplied, but this at least permits the -- types to be used. @package transformers-compat @version 0.6.4 -- | Backports orphan instances which are not provided by other modules in -- transformers-compat. module Control.Monad.Trans.Instances -- | Internal functionality for Data.Functor.Classes.Generic. -- -- This is an internal module and, as such, the API is not guaranteed to -- remain the same between any given release. module Data.Functor.Classes.Generic.Internal -- | Options that further configure how the functions in -- Data.Functor.Classes.Generic should behave. newtype Options Options :: Bool -> Options -- | If True, a default Show1 implementation will show hash -- signs (#) when showing unlifted types. [ghc8ShowBehavior] :: Options -> Bool -- | Options that match the behavior of the installed version of GHC. defaultOptions :: Options -- | Options that match the behavior of the most recent GHC release. latestGHCOptions :: Options -- | A sensible default liftEq implementation for Generic1 -- instances. liftEqDefault :: (GEq1 NonV4 (Rep1 f), Generic1 f) => (a -> b -> Bool) -> f a -> f b -> Bool -- | Like liftEqDefault, but with configurable Options. -- Currently, the Options have no effect (but this may change in -- the future). liftEqOptions :: (GEq1 NonV4 (Rep1 f), Generic1 f) => Options -> (a -> b -> Bool) -> f a -> f b -> Bool -- | Class of generic representation types that can be checked for -- equality. class GEq1 v t gliftEq :: GEq1 v t => Eq1Args v a b -> t a -> t b -> Bool -- | An Eq1Args value either stores an Eq a dictionary (for -- the transformers-0.4 version of Eq1), or it stores the -- function argument that checks the equality of occurrences of the type -- parameter (for the non-transformers-0.4 version of -- Eq1). data Eq1Args v a b [V4Eq1Args] :: Eq a => Eq1Args V4 a a [NonV4Eq1Args] :: (a -> b -> Bool) -> Eq1Args NonV4 a b -- | A sensible default liftCompare implementation for -- Generic1 instances. liftCompareDefault :: (GOrd1 NonV4 (Rep1 f), Generic1 f) => (a -> b -> Ordering) -> f a -> f b -> Ordering -- | Like liftCompareDefault, but with configurable Options. -- Currently, the Options have no effect (but this may change in -- the future). liftCompareOptions :: (GOrd1 NonV4 (Rep1 f), Generic1 f) => Options -> (a -> b -> Ordering) -> f a -> f b -> Ordering -- | Class of generic representation types that can be totally ordered. class GEq1 v t => GOrd1 v t gliftCompare :: GOrd1 v t => Ord1Args v a b -> t a -> t b -> Ordering -- | An Ord1Args value either stores an Ord a dictionary -- (for the transformers-0.4 version of Ord1), or it -- stores the function argument that compares occurrences of the type -- parameter (for the non-transformers-0.4 version of -- Ord1). data Ord1Args v a b [V4Ord1Args] :: Ord a => Ord1Args V4 a a [NonV4Ord1Args] :: (a -> b -> Ordering) -> Ord1Args NonV4 a b -- | A sensible default liftReadsPrec implementation for -- Generic1 instances. liftReadsPrecDefault :: (GRead1 NonV4 (Rep1 f), Generic1 f) => (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (f a) -- | Like liftReadsPrecDefault, but with configurable -- Options. Currently, the Options have no effect (but this -- may change in the future). liftReadsPrecOptions :: (GRead1 NonV4 (Rep1 f), Generic1 f) => Options -> (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (f a) -- | Class of generic representation types that can be parsed from a -- String. class GRead1 v f gliftReadPrec :: GRead1 v f => Read1Args v a -> ReadPrec (f a) -- | Class of generic representation types that can be parsed from a -- String, and for which the ConType has been determined. class GRead1Con v f gliftReadPrecCon :: GRead1Con v f => ConType -> Read1Args v a -> ReadPrec (f a) -- | A Read1Args value either stores a Read a dictionary -- (for the transformers-0.4 version of Read1), or it -- stores the two function arguments that parse occurrences of the type -- parameter (for the non-transformers-0.4 version of -- Read1). data Read1Args v a [V4Read1Args] :: Read a => Read1Args V4 a [NonV4Read1Args] :: ReadPrec a -> ReadPrec [a] -> Read1Args NonV4 a -- | A sensible default liftShowsPrec implementation for -- Generic1 instances. liftShowsPrecDefault :: (GShow1 NonV4 (Rep1 f), Generic1 f) => (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> f a -> ShowS -- | Like liftShowsPrecDefault, but with configurable -- Options. liftShowsPrecOptions :: (GShow1 NonV4 (Rep1 f), Generic1 f) => Options -> (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> f a -> ShowS -- | Class of generic representation types that can be converted to a -- String. class GShow1 v f gliftShowsPrec :: GShow1 v f => Options -> Show1Args v a -> Int -> f a -> ShowS -- | Class of generic representation types that can be converted to a -- String, and for which the ConType has been determined. class GShow1Con v f gliftShowsPrecCon :: GShow1Con v f => Options -> ConType -> Show1Args v a -> Int -> f a -> ShowS -- | A Show1Args value either stores a Show a dictionary -- (for the transformers-0.4 version of Show1), or it -- stores the two function arguments that show occurrences of the type -- parameter (for the non-transformers-0.4 version of -- Show1). data Show1Args v a [V4Show1Args] :: Show a => Show1Args V4 a [NonV4Show1Args] :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Show1Args NonV4 a -- | A type-level indicator that the transformers-0.4 version of a -- class method is being derived generically. data V4 -- | A type-level indicator that the non-transformers-0.4 version -- of a class method is being derived generically. data NonV4 -- | Whether a constructor is a record (Rec), a tuple (Tup), -- is prefix (Pref), or infix (Inf). data ConType Rec :: ConType Tup :: ConType Pref :: ConType Inf :: String -> ConType -- | Class of generic representation types that represent a constructor -- with zero or more fields. class IsNullary f isNullary :: IsNullary f => f a -> Bool instance (GHC.Generics.Constructor c, Data.Functor.Classes.Generic.Internal.GRead1Con v f, Data.Functor.Classes.Generic.Internal.IsNullary f) => Data.Functor.Classes.Generic.Internal.GRead1 v (GHC.Generics.C1 c f) instance (GHC.Generics.Constructor c, Data.Functor.Classes.Generic.Internal.GShow1Con v f, Data.Functor.Classes.Generic.Internal.IsNullary f) => Data.Functor.Classes.Generic.Internal.GShow1 v (GHC.Generics.C1 c f) instance Data.Functor.Classes.Generic.Internal.IsNullary GHC.Generics.U1 instance Data.Functor.Classes.Generic.Internal.IsNullary GHC.Generics.Par1 instance Data.Functor.Classes.Generic.Internal.IsNullary (GHC.Generics.K1 i c) instance Data.Functor.Classes.Generic.Internal.IsNullary f => Data.Functor.Classes.Generic.Internal.IsNullary (GHC.Generics.S1 s f) instance Data.Functor.Classes.Generic.Internal.IsNullary (GHC.Generics.Rec1 f) instance Data.Functor.Classes.Generic.Internal.IsNullary (f GHC.Generics.:*: g) instance Data.Functor.Classes.Generic.Internal.IsNullary (f GHC.Generics.:.: g) instance Data.Functor.Classes.Generic.Internal.IsNullary GHC.Generics.UChar instance Data.Functor.Classes.Generic.Internal.IsNullary GHC.Generics.UDouble instance Data.Functor.Classes.Generic.Internal.IsNullary GHC.Generics.UFloat instance Data.Functor.Classes.Generic.Internal.IsNullary GHC.Generics.UInt instance Data.Functor.Classes.Generic.Internal.IsNullary GHC.Generics.UWord instance Data.Functor.Classes.Generic.Internal.GRead1Con v GHC.Generics.U1 instance GHC.Read.Read c => Data.Functor.Classes.Generic.Internal.GRead1Con v (GHC.Generics.K1 i c) instance (GHC.Generics.Selector s, Data.Functor.Classes.Generic.Internal.GRead1Con v f) => Data.Functor.Classes.Generic.Internal.GRead1Con v (GHC.Generics.S1 s f) instance (Data.Functor.Classes.Generic.Internal.GRead1Con v f, Data.Functor.Classes.Generic.Internal.GRead1Con v g) => Data.Functor.Classes.Generic.Internal.GRead1Con v (f GHC.Generics.:*: g) instance Data.Functor.Classes.Generic.Internal.GRead1Con Data.Functor.Classes.Generic.Internal.NonV4 GHC.Generics.Par1 instance Data.Functor.Classes.Read1 f => Data.Functor.Classes.Generic.Internal.GRead1Con Data.Functor.Classes.Generic.Internal.NonV4 (GHC.Generics.Rec1 f) instance (Data.Functor.Classes.Read1 f, Data.Functor.Classes.Generic.Internal.GRead1Con Data.Functor.Classes.Generic.Internal.NonV4 g) => Data.Functor.Classes.Generic.Internal.GRead1Con Data.Functor.Classes.Generic.Internal.NonV4 (f GHC.Generics.:.: g) instance Data.Functor.Classes.Generic.Internal.GShow1Con v GHC.Generics.U1 instance GHC.Show.Show c => Data.Functor.Classes.Generic.Internal.GShow1Con v (GHC.Generics.K1 i c) instance (GHC.Generics.Selector s, Data.Functor.Classes.Generic.Internal.GShow1Con v f) => Data.Functor.Classes.Generic.Internal.GShow1Con v (GHC.Generics.S1 s f) instance (Data.Functor.Classes.Generic.Internal.GShow1Con v f, Data.Functor.Classes.Generic.Internal.GShow1Con v g) => Data.Functor.Classes.Generic.Internal.GShow1Con v (f GHC.Generics.:*: g) instance Data.Functor.Classes.Generic.Internal.GShow1Con Data.Functor.Classes.Generic.Internal.NonV4 GHC.Generics.Par1 instance Data.Functor.Classes.Show1 f => Data.Functor.Classes.Generic.Internal.GShow1Con Data.Functor.Classes.Generic.Internal.NonV4 (GHC.Generics.Rec1 f) instance (Data.Functor.Classes.Show1 f, Data.Functor.Classes.Generic.Internal.GShow1Con Data.Functor.Classes.Generic.Internal.NonV4 g) => Data.Functor.Classes.Generic.Internal.GShow1Con Data.Functor.Classes.Generic.Internal.NonV4 (f GHC.Generics.:.: g) instance Data.Functor.Classes.Generic.Internal.GShow1Con v GHC.Generics.UChar instance Data.Functor.Classes.Generic.Internal.GShow1Con v GHC.Generics.UDouble instance Data.Functor.Classes.Generic.Internal.GShow1Con v GHC.Generics.UFloat instance Data.Functor.Classes.Generic.Internal.GShow1Con v GHC.Generics.UInt instance Data.Functor.Classes.Generic.Internal.GShow1Con v GHC.Generics.UWord instance Data.Functor.Classes.Generic.Internal.GShow1 v f => Data.Functor.Classes.Generic.Internal.GShow1 v (GHC.Generics.D1 d f) instance Data.Functor.Classes.Generic.Internal.GShow1 v GHC.Generics.V1 instance (Data.Functor.Classes.Generic.Internal.GShow1 v f, Data.Functor.Classes.Generic.Internal.GShow1 v g) => Data.Functor.Classes.Generic.Internal.GShow1 v (f GHC.Generics.:+: g) instance Data.Functor.Classes.Generic.Internal.GRead1 v f => Data.Functor.Classes.Generic.Internal.GRead1 v (GHC.Generics.D1 d f) instance Data.Functor.Classes.Generic.Internal.GRead1 v GHC.Generics.V1 instance (Data.Functor.Classes.Generic.Internal.GRead1 v f, Data.Functor.Classes.Generic.Internal.GRead1 v g) => Data.Functor.Classes.Generic.Internal.GRead1 v (f GHC.Generics.:+: g) instance GHC.Classes.Ord c => Data.Functor.Classes.Generic.Internal.GOrd1 v (GHC.Generics.K1 i c) instance (Data.Functor.Classes.Generic.Internal.GOrd1 v f, Data.Functor.Classes.Generic.Internal.GOrd1 v g) => Data.Functor.Classes.Generic.Internal.GOrd1 v (f GHC.Generics.:*: g) instance (Data.Functor.Classes.Generic.Internal.GOrd1 v f, Data.Functor.Classes.Generic.Internal.GOrd1 v g) => Data.Functor.Classes.Generic.Internal.GOrd1 v (f GHC.Generics.:+: g) instance Data.Functor.Classes.Generic.Internal.GOrd1 v f => Data.Functor.Classes.Generic.Internal.GOrd1 v (GHC.Generics.M1 i c f) instance Data.Functor.Classes.Generic.Internal.GOrd1 v GHC.Generics.U1 instance Data.Functor.Classes.Generic.Internal.GOrd1 v GHC.Generics.V1 instance Data.Functor.Classes.Generic.Internal.GOrd1 Data.Functor.Classes.Generic.Internal.NonV4 GHC.Generics.Par1 instance Data.Functor.Classes.Ord1 f => Data.Functor.Classes.Generic.Internal.GOrd1 Data.Functor.Classes.Generic.Internal.NonV4 (GHC.Generics.Rec1 f) instance (Data.Functor.Classes.Ord1 f, Data.Functor.Classes.Generic.Internal.GOrd1 Data.Functor.Classes.Generic.Internal.NonV4 g) => Data.Functor.Classes.Generic.Internal.GOrd1 Data.Functor.Classes.Generic.Internal.NonV4 (f GHC.Generics.:.: g) instance Data.Functor.Classes.Generic.Internal.GOrd1 v GHC.Generics.UAddr instance Data.Functor.Classes.Generic.Internal.GOrd1 v GHC.Generics.UChar instance Data.Functor.Classes.Generic.Internal.GOrd1 v GHC.Generics.UDouble instance Data.Functor.Classes.Generic.Internal.GOrd1 v GHC.Generics.UFloat instance Data.Functor.Classes.Generic.Internal.GOrd1 v GHC.Generics.UInt instance Data.Functor.Classes.Generic.Internal.GOrd1 v GHC.Generics.UWord instance GHC.Classes.Eq c => Data.Functor.Classes.Generic.Internal.GEq1 v (GHC.Generics.K1 i c) instance (Data.Functor.Classes.Generic.Internal.GEq1 v f, Data.Functor.Classes.Generic.Internal.GEq1 v g) => Data.Functor.Classes.Generic.Internal.GEq1 v (f GHC.Generics.:*: g) instance (Data.Functor.Classes.Generic.Internal.GEq1 v f, Data.Functor.Classes.Generic.Internal.GEq1 v g) => Data.Functor.Classes.Generic.Internal.GEq1 v (f GHC.Generics.:+: g) instance Data.Functor.Classes.Generic.Internal.GEq1 v f => Data.Functor.Classes.Generic.Internal.GEq1 v (GHC.Generics.M1 i c f) instance Data.Functor.Classes.Generic.Internal.GEq1 v GHC.Generics.U1 instance Data.Functor.Classes.Generic.Internal.GEq1 v GHC.Generics.V1 instance Data.Functor.Classes.Generic.Internal.GEq1 Data.Functor.Classes.Generic.Internal.NonV4 GHC.Generics.Par1 instance Data.Functor.Classes.Eq1 f => Data.Functor.Classes.Generic.Internal.GEq1 Data.Functor.Classes.Generic.Internal.NonV4 (GHC.Generics.Rec1 f) instance (Data.Functor.Classes.Eq1 f, Data.Functor.Classes.Generic.Internal.GEq1 Data.Functor.Classes.Generic.Internal.NonV4 g) => Data.Functor.Classes.Generic.Internal.GEq1 Data.Functor.Classes.Generic.Internal.NonV4 (f GHC.Generics.:.: g) instance Data.Functor.Classes.Generic.Internal.GEq1 v GHC.Generics.UAddr instance Data.Functor.Classes.Generic.Internal.GEq1 v GHC.Generics.UChar instance Data.Functor.Classes.Generic.Internal.GEq1 v GHC.Generics.UDouble instance Data.Functor.Classes.Generic.Internal.GEq1 v GHC.Generics.UFloat instance Data.Functor.Classes.Generic.Internal.GEq1 v GHC.Generics.UInt instance Data.Functor.Classes.Generic.Internal.GEq1 v GHC.Generics.UWord -- | Functions to generically derive Eq1, Ord1, Read1, -- and Show1 instances from Data.Functor.Classes. module Data.Functor.Classes.Generic -- | Options that further configure how the functions in -- Data.Functor.Classes.Generic should behave. newtype Options Options :: Bool -> Options -- | If True, a default Show1 implementation will show hash -- signs (#) when showing unlifted types. [ghc8ShowBehavior] :: Options -> Bool -- | Options that match the behavior of the installed version of GHC. defaultOptions :: Options -- | Options that match the behavior of the most recent GHC release. latestGHCOptions :: Options -- | A sensible default liftEq implementation for Generic1 -- instances. liftEqDefault :: (GEq1 NonV4 (Rep1 f), Generic1 f) => (a -> b -> Bool) -> f a -> f b -> Bool -- | Like liftEqDefault, but with configurable Options. -- Currently, the Options have no effect (but this may change in -- the future). liftEqOptions :: (GEq1 NonV4 (Rep1 f), Generic1 f) => Options -> (a -> b -> Bool) -> f a -> f b -> Bool -- | A sensible default liftCompare implementation for -- Generic1 instances. liftCompareDefault :: (GOrd1 NonV4 (Rep1 f), Generic1 f) => (a -> b -> Ordering) -> f a -> f b -> Ordering -- | Like liftCompareDefault, but with configurable Options. -- Currently, the Options have no effect (but this may change in -- the future). liftCompareOptions :: (GOrd1 NonV4 (Rep1 f), Generic1 f) => Options -> (a -> b -> Ordering) -> f a -> f b -> Ordering -- | A sensible default liftReadsPrec implementation for -- Generic1 instances. liftReadsPrecDefault :: (GRead1 NonV4 (Rep1 f), Generic1 f) => (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (f a) -- | Like liftReadsPrecDefault, but with configurable -- Options. Currently, the Options have no effect (but this -- may change in the future). liftReadsPrecOptions :: (GRead1 NonV4 (Rep1 f), Generic1 f) => Options -> (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (f a) -- | A sensible default liftShowsPrec implementation for -- Generic1 instances. liftShowsPrecDefault :: (GShow1 NonV4 (Rep1 f), Generic1 f) => (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> f a -> ShowS -- | Like liftShowsPrecDefault, but with configurable -- Options. liftShowsPrecOptions :: (GShow1 NonV4 (Rep1 f), Generic1 f) => Options -> (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> f a -> ShowS