Skip to content

Instantly share code, notes, and snippets.

@skilpat
Last active July 2, 2018 00:43
Show Gist options
  • Save skilpat/8f3e2ffc0a4e2726a032 to your computer and use it in GitHub Desktop.
Save skilpat/8f3e2ffc0a4e2726a032 to your computer and use it in GitHub Desktop.
Which instances are visible in various Haskell modules?

Instances visible in various Haskell modules

import ReadWorlds
ctx <- buildCtx "<cabal-sandbox-path>" ["base", "containers"]
printCtx ["Prelude", "Data.Map"] ctx
  • Format:
<module-name> -> { <module-name-defining-instances> (<number-instances-there>)
                   ... } <number-instances-here>
base:Prelude -> {ghc-prim:GHC.Classes (46), 
                 integer-gmp:GHC.Integer.Type (2), 
                 base:Control.Exception (1), 
                 base:Control.Exception.Base (21), 
                 base:Control.Monad (2), 
                 base:Data.Bits (7),
                 base:Data.Char (7),
                 base:Data.Dynamic (3),
                 base:Data.Either (7),
                 base:Data.Maybe (4),
                 base:Data.Monoid (91),
                 base:Data.Proxy (9),
                 base:Data.Type.Coercion (8),
                 base:Data.Type.Equality (7),
                 base:Data.Typeable.Internal (43),
                 base:Foreign.C.Error (1),
                 base:Foreign.C.Types (309),
                 base:Foreign.Ptr (26),
                 base:Foreign.Storable (18),
                 base:GHC.Arr (16),
                 base:GHC.Base (7),
                 base:GHC.Conc.Sync (16),
                 base:GHC.Enum (26),
                 base:GHC.Exception (13),
                 base:GHC.Fingerprint.Type (3),
                 base:GHC.Float (16),
                 base:GHC.ForeignPtr (4),
                 base:GHC.Generics (154),
                 base:GHC.IO (2),
                 base:GHC.IO.Buffer (1),
                 base:GHC.IO.Device (7),
                 base:GHC.IO.Encoding.Failure (1),
                 base:GHC.IO.Encoding.Types (3),
                 base:GHC.IO.Exception (37),
                 -- implemented: base:GHC.IO.Exception[boot] (1),
                 base:GHC.IO.FD (5),
                 base:GHC.IO.Handle (2),
                 base:GHC.IO.Handle.Types (17),
                 base:GHC.IO.IOMode (6),
                 base:GHC.IOArray (2),
                 base:GHC.IORef (2),
                 base:GHC.Int (52),
                 base:GHC.MVar (2),
                 base:GHC.Num (3),
                 base:GHC.Ptr (6),
                 base:GHC.Read (28),
                 base:GHC.Real (15),
                 base:GHC.ST (3),
                 base:GHC.STRef (1),
                 base:GHC.Show (23),
                 base:GHC.Stable (2),
                 base:GHC.Weak (1),
                 base:GHC.Word (48),
                 base:System.Posix.Types (174),
                 base:Text.ParserCombinators.ReadP (5),
                 base:Text.ParserCombinators.ReadPrec (3),
                 base:Text.Read.Lex (4),
                 base:GHC.Event.Control (3),
                 base:GHC.Event.EPoll (9),
                 base:GHC.Event.Internal (4),
                 base:GHC.Event.Manager (4),
                 base:GHC.Event.PSQ (7),
                 base:GHC.Event.Poll (8),
                 base:GHC.Event.TimerManager (3),
                 base:GHC.Event.Unique (4)}
                (1364)

containers-0.5.5.1:Data.Map -> {containers-0.5.5.1:Data.Map.Base (11),
                                containers-0.5.5.1:Data.Set.Base (9),
                                deepseq-1.3.0.2:Control.DeepSeq (33),
                                ghc-prim:GHC.Classes (46),
                                integer-gmp:GHC.Integer.Type (2),
                                base:Control.Applicative (57),
                                base:Control.Arrow (14),
                                base:Control.Category (3),
                                base:Control.Exception (1),
                                base:Control.Exception.Base (21),
                                base:Control.Monad (2),
                                base:Control.Monad.Fix (6),
                                base:Data.Bits (7),
                                base:Data.Char (7),
                                base:Data.Complex (8),
                                base:Data.Data (43),
                                base:Data.Dynamic (3),
                                base:Data.Either (7),
                                base:Data.Fixed (25),
                                base:Data.Foldable (7),
                                base:Data.Maybe (4),
                                base:Data.Monoid (91),
                                base:Data.Ord (4),
                                base:Data.Proxy (9),
                                base:Data.String (1),
                                base:Data.Traversable (13),
                                base:Data.Type.Coercion (8),
                                base:Data.Type.Equality (7),
                                base:Data.Typeable.Internal (43),
                                base:Data.Version (5),
                                base:Foreign.C.Error (1),
                                base:Foreign.C.Types (309),
                                base:Foreign.Ptr (26),
                                base:Foreign.Storable (18),
                                base:GHC.Arr (16),
                                base:GHC.Base (7),
                                base:GHC.Conc.Sync (16),
                                base:GHC.Enum (26),
                                base:GHC.Exception (13),
                                base:GHC.Exts (4),
                                base:GHC.Fingerprint.Type (3),
                                base:GHC.Float (16),
                                base:GHC.ForeignPtr (4),
                                base:GHC.Generics (154),
                                base:GHC.IO (2),
                                base:GHC.IO.Buffer (1),
                                base:GHC.IO.Device (7),
                                base:GHC.IO.Encoding.Failure (1),
                                base:GHC.IO.Encoding.Types (3),
                                base:GHC.IO.Exception (37),
                                -- base:GHC.IO.Exception[boot] (1),
                                base:GHC.IO.FD (5),
                                base:GHC.IO.Handle (2),
                                base:GHC.IO.Handle.Types (17),
                                base:GHC.IO.IOMode (6),
                                base:GHC.IOArray (2),
                                base:GHC.IORef (2),
                                base:GHC.Int (52),
                                base:GHC.MVar (2),
                                base:GHC.Num (3),
                                base:GHC.Ptr (6),
                                base:GHC.Read (28),
                                base:GHC.Real (15),
                                base:GHC.ST (3),
                                base:GHC.STRef (1),
                                base:GHC.Show (23),
                                base:GHC.Stable (2),
                                base:GHC.Weak (1),
                                base:GHC.Word (48),
                                base:System.Posix.Types (174),
                                base:Text.ParserCombinators.ReadP (5),
                                base:Text.ParserCombinators.ReadPrec (3),
                                base:Text.Read.Lex (4),
                                base:Control.Monad.ST.Lazy.Imp (3),
                                base:GHC.Event.Control (3),
                                base:GHC.Event.Internal (4),
                                base:GHC.Event.KQueue (20),
                                base:GHC.Event.Manager (4),
                                base:GHC.Event.PSQ (7),
                                base:GHC.Event.Poll (8),
                                base:GHC.Event.TimerManager (3),
                                base:GHC.Event.Unique (4)}
                               (1621)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment