Copyright | (c) The University of Glasgow CWI 2001--2004 |
---|---|
License | BSD-style (see the LICENSE file) |
Maintainer | generics@haskell.org |
Stability | experimental |
Portability | non-portable (uses Data.Data) |
Safe Haskell | Safe-Inferred |
Language | Haskell98 |
"Scrap your boilerplate" --- Generic programming in Haskell
See http://www.cs.uu.nl/wiki/GenericProgramming/SYB. The present module
contains thirteen Data
instances which are considered dubious (either
because the types are abstract or just not meant to be traversed).
Instances in this module might change or disappear in future releases
of this package.
(This module does not export anything. It really just defines instances.)
Orphan instances
Data DataType Source # | |
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DataType -> c DataType Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DataType Source # toConstr :: DataType -> Constr Source # dataTypeOf :: DataType -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DataType) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DataType) Source # gmapT :: (forall b. Data b => b -> b) -> DataType -> DataType Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DataType -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DataType -> r Source # gmapQ :: (forall d. Data d => d -> u) -> DataType -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> DataType -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DataType -> m DataType Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DataType -> m DataType Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DataType -> m DataType Source # | |
Data ThreadId Source # | |
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ThreadId -> c ThreadId Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ThreadId Source # toConstr :: ThreadId -> Constr Source # dataTypeOf :: ThreadId -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ThreadId) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ThreadId) Source # gmapT :: (forall b. Data b => b -> b) -> ThreadId -> ThreadId Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ThreadId -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ThreadId -> r Source # gmapQ :: (forall d. Data d => d -> u) -> ThreadId -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> ThreadId -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ThreadId -> m ThreadId Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ThreadId -> m ThreadId Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ThreadId -> m ThreadId Source # | |
Data Handle Source # | |
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Handle -> c Handle Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Handle Source # toConstr :: Handle -> Constr Source # dataTypeOf :: Handle -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Handle) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Handle) Source # gmapT :: (forall b. Data b => b -> b) -> Handle -> Handle Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Handle -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Handle -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Handle -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Handle -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Handle -> m Handle Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Handle -> m Handle Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Handle -> m Handle Source # | |
Data TyCon Source # | |
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TyCon -> c TyCon Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TyCon Source # toConstr :: TyCon -> Constr Source # dataTypeOf :: TyCon -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TyCon) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TyCon) Source # gmapT :: (forall b. Data b => b -> b) -> TyCon -> TyCon Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TyCon -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TyCon -> r Source # gmapQ :: (forall d. Data d => d -> u) -> TyCon -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> TyCon -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TyCon -> m TyCon Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TyCon -> m TyCon Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TyCon -> m TyCon Source # | |
Typeable a => Data (STM a) Source # | |
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> STM a -> c (STM a) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (STM a) Source # toConstr :: STM a -> Constr Source # dataTypeOf :: STM a -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (STM a)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (STM a)) Source # gmapT :: (forall b. Data b => b -> b) -> STM a -> STM a Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> STM a -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> STM a -> r Source # gmapQ :: (forall d. Data d => d -> u) -> STM a -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> STM a -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> STM a -> m (STM a) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> STM a -> m (STM a) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> STM a -> m (STM a) Source # | |
Typeable a => Data (TVar a) Source # | |
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TVar a -> c (TVar a) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (TVar a) Source # toConstr :: TVar a -> Constr Source # dataTypeOf :: TVar a -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (TVar a)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (TVar a)) Source # gmapT :: (forall b. Data b => b -> b) -> TVar a -> TVar a Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TVar a -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TVar a -> r Source # gmapQ :: (forall d. Data d => d -> u) -> TVar a -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> TVar a -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TVar a -> m (TVar a) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TVar a -> m (TVar a) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TVar a -> m (TVar a) Source # | |
Typeable a => Data (IORef a) Source # | |
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IORef a -> c (IORef a) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IORef a) Source # toConstr :: IORef a -> Constr Source # dataTypeOf :: IORef a -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IORef a)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IORef a)) Source # gmapT :: (forall b. Data b => b -> b) -> IORef a -> IORef a Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IORef a -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IORef a -> r Source # gmapQ :: (forall d. Data d => d -> u) -> IORef a -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> IORef a -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IORef a -> m (IORef a) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IORef a -> m (IORef a) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IORef a -> m (IORef a) Source # | |
Typeable a => Data (MVar a) Source # | |
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MVar a -> c (MVar a) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MVar a) Source # toConstr :: MVar a -> Constr Source # dataTypeOf :: MVar a -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MVar a)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MVar a)) Source # gmapT :: (forall b. Data b => b -> b) -> MVar a -> MVar a Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MVar a -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MVar a -> r Source # gmapQ :: (forall d. Data d => d -> u) -> MVar a -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> MVar a -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MVar a -> m (MVar a) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MVar a -> m (MVar a) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MVar a -> m (MVar a) Source # | |
Typeable a => Data (StablePtr a) Source # | |
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StablePtr a -> c (StablePtr a) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (StablePtr a) Source # toConstr :: StablePtr a -> Constr Source # dataTypeOf :: StablePtr a -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (StablePtr a)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (StablePtr a)) Source # gmapT :: (forall b. Data b => b -> b) -> StablePtr a -> StablePtr a Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StablePtr a -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StablePtr a -> r Source # gmapQ :: (forall d. Data d => d -> u) -> StablePtr a -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> StablePtr a -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> StablePtr a -> m (StablePtr a) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StablePtr a -> m (StablePtr a) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StablePtr a -> m (StablePtr a) Source # | |
Typeable a => Data (IO a) Source # | |
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IO a -> c (IO a) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IO a) Source # toConstr :: IO a -> Constr Source # dataTypeOf :: IO a -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IO a)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IO a)) Source # gmapT :: (forall b. Data b => b -> b) -> IO a -> IO a Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IO a -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IO a -> r Source # gmapQ :: (forall d. Data d => d -> u) -> IO a -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> IO a -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IO a -> m (IO a) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IO a -> m (IO a) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IO a -> m (IO a) Source # | |
(Typeable s, Typeable a) => Data (ST s a) Source # | |
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ST s a -> c (ST s a) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ST s a) Source # toConstr :: ST s a -> Constr Source # dataTypeOf :: ST s a -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ST s a)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ST s a)) Source # gmapT :: (forall b. Data b => b -> b) -> ST s a -> ST s a Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ST s a -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ST s a -> r Source # gmapQ :: (forall d. Data d => d -> u) -> ST s a -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> ST s a -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ST s a -> m (ST s a) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ST s a -> m (ST s a) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ST s a -> m (ST s a) Source # | |
(Data a, Data b) => Data (a -> b) Source # | |
gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> (a -> b) -> c (a -> b) Source # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (a -> b) Source # toConstr :: (a -> b) -> Constr Source # dataTypeOf :: (a -> b) -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (a -> b)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (a -> b)) Source # gmapT :: (forall b0. Data b0 => b0 -> b0) -> (a -> b) -> a -> b Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (a -> b) -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (a -> b) -> r Source # gmapQ :: (forall d. Data d => d -> u) -> (a -> b) -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> (a -> b) -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> (a -> b) -> m (a -> b) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (a -> b) -> m (a -> b) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (a -> b) -> m (a -> b) Source # |