calligraphy-0.1.6: HIE-based Haskell call graph and source code visualizer
Safe HaskellSafe-Inferred
LanguageHaskell2010

Calligraphy.Util.Types

Synopsis

Data types

data CallGraph Source #

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.

Constructors

CallGraph 

Fields

data DeclType Source #

Instances

Instances details
Show DeclType Source # 
Instance details

Defined in Calligraphy.Util.Types

Eq DeclType Source # 
Instance details

Defined in Calligraphy.Util.Types

Ord DeclType Source # 
Instance details

Defined in Calligraphy.Util.Types

newtype Key Source #

A key in our own local space, c.f. a key that was generated by GHC.

Constructors

Key 

Fields

Instances

Instances details
Enum Key Source # 
Instance details

Defined in Calligraphy.Util.Types

Methods

succ :: Key -> Key #

pred :: Key -> Key #

toEnum :: Int -> Key #

fromEnum :: Key -> Int #

enumFrom :: Key -> [Key] #

enumFromThen :: Key -> Key -> [Key] #

enumFromTo :: Key -> Key -> [Key] #

enumFromThenTo :: Key -> Key -> Key -> [Key] #

Show Key Source # 
Instance details

Defined in Calligraphy.Util.Types

Methods

showsPrec :: Int -> Key -> ShowS #

show :: Key -> String #

showList :: [Key] -> ShowS #

Eq Key Source # 
Instance details

Defined in Calligraphy.Util.Types

Methods

(==) :: Key -> Key -> Bool #

(/=) :: Key -> Key -> Bool #

Ord Key Source # 
Instance details

Defined in Calligraphy.Util.Types

Methods

compare :: Key -> Key -> Ordering #

(<) :: Key -> Key -> Bool #

(<=) :: Key -> Key -> Bool #

(>) :: Key -> Key -> Bool #

(>=) :: Key -> Key -> Bool #

max :: Key -> Key -> Key #

min :: Key -> Key -> Key #

newtype GHCKey Source #

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.

Constructors

GHCKey 

Fields

Instances

Instances details
Enum GHCKey Source # 
Instance details

Defined in Calligraphy.Util.Types

Show GHCKey Source # 
Instance details

Defined in Calligraphy.Util.Types

Eq GHCKey Source # 
Instance details

Defined in Calligraphy.Util.Types

Methods

(==) :: GHCKey -> GHCKey -> Bool #

(/=) :: GHCKey -> GHCKey -> Bool #

Ord GHCKey Source # 
Instance details

Defined in Calligraphy.Util.Types

data Loc Source #

Constructors

Loc 

Fields

Instances

Instances details
Show Loc Source # 
Instance details

Defined in Calligraphy.Util.Types

Methods

showsPrec :: Int -> Loc -> ShowS #

show :: Loc -> String #

showList :: [Loc] -> ShowS #

Eq Loc Source # 
Instance details

Defined in Calligraphy.Util.Types

Methods

(==) :: Loc -> Loc -> Bool #

(/=) :: Loc -> Loc -> Bool #

Ord Loc Source # 
Instance details

Defined in Calligraphy.Util.Types

Methods

compare :: Loc -> Loc -> Ordering #

(<) :: Loc -> Loc -> Bool #

(<=) :: Loc -> Loc -> Bool #

(>) :: Loc -> Loc -> Bool #

(>=) :: Loc -> Loc -> Bool #

max :: Loc -> Loc -> Loc #

min :: Loc -> Loc -> Loc #

Utility functions

rekeyCalls :: (Enum a, Ord b) => EnumMap a b -> Set (a, a) -> Set (b, b) Source #

Lensy stuff

over :: Traversal s t a b -> (a -> b) -> s -> t Source #

forT_ :: Applicative m => Traversal s t a b -> s -> (a -> m ()) -> m () Source #