-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | General data structure lifting for Template Haskell -- -- This package provides a simple type class to use Template Haskell to -- generate code for building data structures. @package traverse-code @version 0.1.1.1 module Language.Haskell.TH.TraverseCode -- | Containers supporting "traversal" in Code. class TraverseCode t -- | Given a container and a function to fill it with splices, produce a -- splice that will generate a container of their results. traverseCode :: (TraverseCode t, Quote m) => (a -> Code m b) -> t a -> Code m (t b) -- | Given a container and a function to fill it with splices, produce a -- splice that will generate a container of their results. traverseCode :: (TraverseCode t, Quote m, GTraverseCode (Rep1 t), Generic1 t) => (a -> Code m b) -> t a -> Code m (t b) -- | Given a container of splices, produce a splice that will generate a -- container of their results. sequenceCode :: (TraverseCode t, Quote m) => t (Code m a) -> Code m (t a) -- | Like traverseCode, but using the -- Generics.Linear.Generic1 instance. genericTraverseCode :: (Quote m, GTraverseCode (Rep1 t), Generic1 t) => (a -> Code m b) -> t a -> Code m (t b) -- | Like sequenceCode, but using the -- Generics.Linear.Generic1 instance. genericSequenceCode :: (Quote m, GTraverseCode (Rep1 t), Generic1 t) => t (Code m a) -> Code m (t a) instance (GHC.Generics.Constructor c, Language.Haskell.TH.TraverseCode.GTraverseCodeFields f) => Language.Haskell.TH.TraverseCode.GTraverseCodeCon (GHC.Generics.C1 c f) instance Language.Haskell.TH.TraverseCode.GTraverseCodeFields f => Language.Haskell.TH.TraverseCode.GTraverseCodeFields (GHC.Generics.S1 c f) instance (Language.Haskell.TH.TraverseCode.GTraverseCodeFields f, Language.Haskell.TH.TraverseCode.GTraverseCodeFields g) => Language.Haskell.TH.TraverseCode.GTraverseCodeFields (f GHC.Generics.:*: g) instance Language.Haskell.TH.Syntax.Lift p => Language.Haskell.TH.TraverseCode.GTraverseCodeFields (GHC.Generics.K1 i p) instance Language.Haskell.TH.TraverseCode.GTraverseCodeFields GHC.Generics.Par1 instance Language.Haskell.TH.TraverseCode.GTraverseCodeFields GHC.Generics.U1 instance (Language.Haskell.TH.TraverseCode.GTraverseCodeFields f, Language.Haskell.TH.TraverseCode.TraverseCode g) => Language.Haskell.TH.TraverseCode.GTraverseCodeFields (f Generics.Linear.Class.:.: g) instance Language.Haskell.TH.TraverseCode.GTraverseCodeFields (GHC.Generics.URec GHC.Types.Char) instance Language.Haskell.TH.TraverseCode.GTraverseCodeFields (GHC.Generics.URec GHC.Types.Float) instance Language.Haskell.TH.TraverseCode.GTraverseCodeFields (GHC.Generics.URec GHC.Types.Double) instance Language.Haskell.TH.TraverseCode.GTraverseCodeFields (GHC.Generics.URec GHC.Types.Int) instance Language.Haskell.TH.TraverseCode.GTraverseCodeFields (GHC.Generics.URec GHC.Types.Word) instance Language.Haskell.TH.TraverseCode.GTraverseCodeFields f => Language.Haskell.TH.TraverseCode.GTraverseCodeFields (Generics.Linear.Class.MP1 'Many f) instance (GHC.Generics.Datatype c, Language.Haskell.TH.TraverseCode.GTraverseCodeCon f) => Language.Haskell.TH.TraverseCode.GTraverseCode (GHC.Generics.D1 c f) instance Language.Haskell.TH.TraverseCode.GTraverseCodeCon GHC.Generics.V1 instance (Language.Haskell.TH.TraverseCode.GTraverseCodeCon f, Language.Haskell.TH.TraverseCode.GTraverseCodeCon g) => Language.Haskell.TH.TraverseCode.GTraverseCodeCon (f GHC.Generics.:+: g) instance Language.Haskell.TH.TraverseCode.TraverseCode GHC.Maybe.Maybe instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Functor.Identity.Identity instance Language.Haskell.TH.TraverseCode.TraverseCode [] instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.TraverseCode.TraverseCode (Data.Either.Either a) instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.TraverseCode.TraverseCode ((,) a) instance (Language.Haskell.TH.Syntax.Lift a, Language.Haskell.TH.Syntax.Lift b) => Language.Haskell.TH.TraverseCode.TraverseCode ((,,) a b) instance (Language.Haskell.TH.Syntax.Lift a, Language.Haskell.TH.Syntax.Lift b, Language.Haskell.TH.Syntax.Lift c) => Language.Haskell.TH.TraverseCode.TraverseCode ((,,,) a b c) instance (Language.Haskell.TH.Syntax.Lift a, Language.Haskell.TH.Syntax.Lift b, Language.Haskell.TH.Syntax.Lift c, Language.Haskell.TH.Syntax.Lift d) => Language.Haskell.TH.TraverseCode.TraverseCode ((,,,,) a b c d) instance (Language.Haskell.TH.Syntax.Lift a, Language.Haskell.TH.Syntax.Lift b, Language.Haskell.TH.Syntax.Lift c, Language.Haskell.TH.Syntax.Lift d, Language.Haskell.TH.Syntax.Lift e) => Language.Haskell.TH.TraverseCode.TraverseCode ((,,,,,) a b c d e) instance (Language.Haskell.TH.TraverseCode.TraverseCode f, Language.Haskell.TH.TraverseCode.TraverseCode g) => Language.Haskell.TH.TraverseCode.TraverseCode (Data.Functor.Product.Product f g) instance (Language.Haskell.TH.TraverseCode.TraverseCode f, Language.Haskell.TH.TraverseCode.TraverseCode g) => Language.Haskell.TH.TraverseCode.TraverseCode (Data.Functor.Sum.Sum f g) instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.TraverseCode.TraverseCode (Data.Functor.Const.Const a) instance Language.Haskell.TH.TraverseCode.TraverseCode GHC.Generics.V1 instance Language.Haskell.TH.TraverseCode.TraverseCode GHC.Generics.U1 instance (Language.Haskell.TH.TraverseCode.TraverseCode f, Language.Haskell.TH.TraverseCode.TraverseCode g) => Language.Haskell.TH.TraverseCode.TraverseCode (f GHC.Generics.:*: g) instance (Language.Haskell.TH.TraverseCode.TraverseCode f, Language.Haskell.TH.TraverseCode.TraverseCode g) => Language.Haskell.TH.TraverseCode.TraverseCode (f GHC.Generics.:+: g) instance Language.Haskell.TH.TraverseCode.TraverseCode f => Language.Haskell.TH.TraverseCode.TraverseCode (GHC.Generics.M1 i c f) instance Language.Haskell.TH.TraverseCode.TraverseCode GHC.Generics.Par1 instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.TraverseCode.TraverseCode (GHC.Generics.K1 i a) instance (Language.Haskell.TH.TraverseCode.TraverseCode f, Language.Haskell.TH.TraverseCode.TraverseCode g) => Language.Haskell.TH.TraverseCode.TraverseCode (f Generics.Linear.Class.:.: g) instance (Language.Haskell.TH.TraverseCode.TraverseCode f, Language.Haskell.TH.TraverseCode.TraverseCode g) => Language.Haskell.TH.TraverseCode.TraverseCode (Data.Functor.Compose.Compose f g) instance Language.Haskell.TH.TraverseCode.TraverseCode f => Language.Haskell.TH.TraverseCode.TraverseCode (Generics.Linear.Class.MP1 'Many f) instance Language.Haskell.TH.TraverseCode.TraverseCode f => Language.Haskell.TH.TraverseCode.TraverseCode (GHC.Generics.Rec1 f) instance (Language.Haskell.TH.TraverseCode.TraverseCode f, Language.Haskell.TH.TraverseCode.TraverseCode g) => Language.Haskell.TH.TraverseCode.TraverseCode (f GHC.Generics.:.: g) instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Sequence.Internal.Elem instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Sequence.Internal.Digit instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Sequence.Internal.Node instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Sequence.Internal.FingerTree instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Sequence.Internal.Seq instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Sequence.Internal.ViewL instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Sequence.Internal.ViewR instance Language.Haskell.TH.TraverseCode.TraverseCode Control.Applicative.ZipList instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Complex.Complex instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Semigroup.First instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Monoid.First instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Semigroup.Last instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Monoid.Last instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Semigroup.Min instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Semigroup.Max instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Ord.Down instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Semigroup.WrappedMonoid instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Semigroup.Internal.Dual instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Semigroup.Internal.Product instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Semigroup.Internal.Sum instance Language.Haskell.TH.TraverseCode.TraverseCode Solo instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Tree.Tree instance Language.Haskell.TH.TraverseCode.TraverseCode GHC.Base.NonEmpty instance Language.Haskell.TH.TraverseCode.TraverseCode m => Language.Haskell.TH.TraverseCode.TraverseCode (Control.Applicative.WrappedMonad m) instance Language.Haskell.TH.TraverseCode.TraverseCode (p a) => Language.Haskell.TH.TraverseCode.TraverseCode (Control.Applicative.WrappedArrow p a) instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.TraverseCode.TraverseCode (Data.Semigroup.Arg a) instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Proxy.Proxy instance Language.Haskell.TH.TraverseCode.TraverseCode f => Language.Haskell.TH.TraverseCode.TraverseCode (Data.Monoid.Ap f) instance Language.Haskell.TH.TraverseCode.TraverseCode f => Language.Haskell.TH.TraverseCode.TraverseCode (Data.Semigroup.Internal.Alt f) instance Language.Haskell.TH.TraverseCode.TraverseCode (GHC.Generics.URec GHC.Types.Char) instance Language.Haskell.TH.TraverseCode.TraverseCode (GHC.Generics.URec GHC.Types.Double) instance Language.Haskell.TH.TraverseCode.TraverseCode (GHC.Generics.URec GHC.Types.Float) instance Language.Haskell.TH.TraverseCode.TraverseCode (GHC.Generics.URec GHC.Types.Int) instance Language.Haskell.TH.TraverseCode.TraverseCode (GHC.Generics.URec GHC.Types.Word) instance (GHC.Ix.Ix i, Language.Haskell.TH.Syntax.Lift i) => Language.Haskell.TH.TraverseCode.TraverseCode (GHC.Arr.Array i) instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Primitive.Array.Array instance Language.Haskell.TH.TraverseCode.TraverseCode Data.Primitive.SmallArray.SmallArray