-- test :browse! functionality :browse! *T -- defined locally T.length :: T.Integer class N a class S a class C a b ... c1 :: (C a b, N b) => a -> b c2 :: (C a b, N b, S b) => a -> b c3 :: C a b => a -> b c4 :: C a b => a1 -> b -- imported via Control.Monad class (GHC.Base.Alternative m, Monad m) => MonadPlus (m :: * -> *) ... mplus :: MonadPlus m => m a -> m a -> m a mzero :: MonadPlus m => m a -- imported via Control.Monad, Prelude (>>) :: Monad m => m a -> m b -> m b (>>=) :: Monad m => m a -> (a -> m b) -> m b fail :: Monad m => GHC.Base.String -> m a return :: Monad m => a -> m a -- imported via Control.Monad, Prelude, T class GHC.Base.Applicative m => Monad (m :: * -> *) ... -- imported via Data.Maybe catMaybes :: [Maybe a] -> [a] fromJust :: Maybe a -> a fromMaybe :: a -> Maybe a -> a isJust :: Maybe a -> GHC.Types.Bool isNothing :: Maybe a -> GHC.Types.Bool listToMaybe :: [a] -> Maybe a mapMaybe :: (a -> Maybe b) -> [a] -> [b] maybe :: b -> (a -> b) -> Maybe a -> b maybeToList :: Maybe a -> [a] -- imported via Data.Maybe, Prelude Just :: a -> Maybe a data Maybe a = ... Nothing :: Maybe a -- imported via Prelude (+) :: GHC.Num.Num a => a -> a -> a (=<<) :: Monad m => (a -> m b) -> m a -> m b class Eq a ... -- imported via Prelude, T Prelude.length :: Data.Foldable.Foldable t => t a -> GHC.Types.Int -- imported via T data T.Integer = ... T.length :: Data.ByteString.Internal.ByteString -> GHC.Types.Int :browse! T -- defined locally T.length :: T.Integer class N a class S a class C a b ... c1 :: (C a b, N b) => a -> b c2 :: (C a b, N b, S b) => a -> b c3 :: C a b => a -> b c4 :: C a b => a1 -> b :browse! T -- with -fprint-explicit-foralls -- defined locally T.length :: T.Integer class N a class S a class C a b ... c1 :: forall a b. (C a b, N b) => a -> b c2 :: forall a b. (C a b, N b, S b) => a -> b c3 :: forall a b a. C a b => a -> b c4 :: forall a b a1. C a b => a1 -> b -- test :browse! relative to different contexts :browse! Ghci025C -- from *Ghci025C> -- defined locally g :: forall {a}. Num a => a -> a h :: forall {a}. Integral a => a -> a -- imported via Ghci025D f :: forall {a}. Num a => a -> a :browse! Ghci025C -- from *Ghci025B>, after :add Ghci025B -- imported via Ghci025C g :: forall {a}. Num a => a -> a h :: forall {a}. Integral a => a -> a f :: forall {a}. Num a => a -> a :browse! Ghci025C -- from *Ghci025C>, after :m *Ghci025C -- defined locally g :: forall {a}. Num a => a -> a h :: forall {a}. Integral a => a -> a -- imported via Ghci025D f :: forall {a}. Num a => a -> a :browse! Ghci025C -- from *Ghci025D>, after :m *Ghci025D -- not currently imported Ghci025C.g :: forall {a}. Num a => a -> a Ghci025C.h :: forall {a}. Integral a => a -> a -- defined locally f :: forall {a}. Num a => a -> a