exference-1.6.0.0: environment/Data.hs
module Data.Data where
data DataType
data Constr
data DataRep
data ConstrRep
data Fixity
class Typeable a => Data a where
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> a
-> c a
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r)
-> Constr
-> c a
toConstr :: a -> Constr
dataTypeOf :: a -> DataType
dataCast1 :: Typeable t
=> (forall d. Data d => c (t d))
-> Data.Maybe.Maybe (c a)
dataCast2 :: Typeable t
=> (forall d e. (Data d, Data e) => c (t d e))
-> Data.Maybe.Maybe (c a)
-- following removed for exploding the search space
-- gmapT :: (forall b. Data b => b -> b) -> a -> a
-- gmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r
-- gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r
-- gmapQ :: (forall d. Data d => d -> u) -> a -> [u]
-- gmapQi :: forall u. Data.Int.Int -> (forall d. Data d => d -> u) -> a -> u
-- gmapM :: forall m. Control.Monad.Monad m => (forall d. Data d => d -> m d) -> a -> m a
-- gmapMp :: forall m. Control.Monad.MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a
-- gmapMo :: forall m. Control.Monad.MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a
instance Data Data.Bool.Bool
instance Data Data.Char.Char
instance Data Prelude.Double
instance Data Prelude.Float
instance Data Data.Int.Int
instance Data Data.Int.Int8
instance Data Data.Int.Int16
instance Data Data.Int.Int32
instance Data Data.Int.Int64
instance Data Prelude.Integer
instance Data Data.Ord.Ordering
instance Data Data.Word.Word
instance Data Data.Word.Word8
instance Data Data.Word.Word16
instance Data Data.Word.Word32
instance Data Data.Word.Word64
instance Data ()
-- instance Data Version
-- instance Data Natural
-- instance Data SpecConstrAnnotation
instance Data Data.Void.Void
instance Data a => Data [a]
-- instance (Data a, Prelude.Integral a) => Data (Ratio a)
-- instance (Data a, Typeable * a) => Data (Ptr a)
instance Data a => Data (Data.Maybe.Maybe a)
-- instance (Data a, Typeable * a) => Data (ForeignPtr a)
-- instance Data a => Data (Complex a)
-- instance Typeable * a => Data (Fixed a)
-- instance Data a => Data (Identity a)
instance (Data a, Data b) => Data (Data.Either.Either a b)
instance (Data a, Data b) => Data (a, b)
-- instance Data t => Data (Proxy * t)
instance (Data a, Data b, Data c) => Data (a, b, c)
-- instance ((~) * a b, Data a) => Data ((:~:) * a b)
-- instance (Coercible * a b, Data a, Data b) => Data (Coercion * a b)
instance (Data a, Data b, Data c, Data d) => Data (a, b, c, d)
instance (Data a, Data b, Data c, Data d, Data e) => Data (a, b, c, d, e)
instance (Data a, Data b, Data c, Data d, Data e, Data f) => Data (a, b, c, d, e, f)
instance (Data a, Data b, Data c, Data d, Data e, Data f, Data g) => Data (a, b, c, d, e, f, g)
dataTypeConstrs :: DataType -> [Constr]