-- 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
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 (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.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 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