Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data CallGraph = CallGraph {}
- data Module = Module {}
- data Decl = Decl {}
- data DeclType
- newtype Key = Key {}
- newtype GHCKey = GHCKey {}
- data Loc = Loc {}
- rekeyCalls :: (Enum a, Ord b) => EnumMap a b -> Set (a, a) -> Set (b, b)
- ppCallGraph :: Prints CallGraph
- over :: Traversal s t a b -> (a -> b) -> s -> t
- forT_ :: Applicative m => Traversal s t a b -> s -> (a -> m ()) -> m ()
- modForest :: Traversal' Module (Forest Decl)
- modDecls :: Traversal' Module Decl
- forestT :: Traversal (Forest a) (Forest b) a b
Data types
This is the main type that processing phases will operate on. Note that calls and typing judgments are part of this top-level structure, not of the individual modules.
Module | |
|
A key in our own local space, c.f. a key that was generated by GHC.
A key that was produced by GHC, c.f. Key that we produced ourselves. We wrap it in a newtype because GHC itself uses a type synonym, but we want conversions to be as explicit as possible.
Utility functions
Lensy stuff
forT_ :: Applicative m => Traversal s t a b -> s -> (a -> m ()) -> m () Source #