graphmod-1.4.5.1: Present the module dependencies of a program as a "dot" graph.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Graphmod.Utils

Synopsis

Documentation

parseFile :: FilePath -> IO (ModName, [Import]) Source #

Get the imports of a file.

parseString :: String -> (ModName, [Import]) Source #

Get the imports from a string that represents a program.

data Qualifier Source #

A hierarchical module name. We make this an opaque type with accessors qualifierNodes and fromHierarchy so that we can transparently add new structure to this type.

Instances

Instances details
Show Qualifier Source # 
Instance details

Defined in Graphmod.Utils

Eq Qualifier Source # 
Instance details

Defined in Graphmod.Utils

data Import Source #

Constructors

Import 

Fields

Instances

Instances details
Show Import Source # 
Instance details

Defined in Graphmod.Utils

Eq Import Source # 
Instance details

Defined in Graphmod.Utils

Methods

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

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

data ImpType Source #

Constructors

NormalImp 
SourceImp 

Instances

Instances details
Show ImpType Source # 
Instance details

Defined in Graphmod.Utils

Eq ImpType Source # 
Instance details

Defined in Graphmod.Utils

Methods

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

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

Ord ImpType Source # 
Instance details

Defined in Graphmod.Utils

splitQualifier :: String -> Qualifier Source #

Convert a string name into a hierarchical name qualifier.

splitModName :: String -> ModName Source #

Convert a string name into a hierarchical name. It is important that

f elem ((relPaths . splitFilePath) f)

relPaths :: ModName -> [FilePath] Source #

The files in which a module might reside.

modToFile :: [FilePath] -> ModName -> IO [FilePath] Source #

The files in which a module might reside. We report only files that exist.