hiedb-0.6.0.1: Generates a references DB from .hie files
Safe HaskellSafe-Inferred
LanguageHaskell2010

HieDb.Types

Synopsis

Documentation

newtype HieDb Source #

Constructors

HieDb 

Fields

setHieTrace :: HieDb -> Maybe (Text -> IO ()) -> IO () Source #

data SourceFile Source #

Encodes the original haskell source file of a module, along with whether it is "real" or not A file is "real" if it comes from the user project, as opposed to a dependency

data ModuleInfo Source #

Constructors

ModuleInfo 

Fields

Instances

Instances details
Show ModuleInfo Source # 
Instance details

Defined in HieDb.Types

Eq ModuleInfo Source # 
Instance details

Defined in HieDb.Types

FromRow ModuleInfo Source # 
Instance details

Defined in HieDb.Types

ToRow ModuleInfo Source # 
Instance details

Defined in HieDb.Types

Methods

toRow :: ModuleInfo -> [SQLData] #

type Res a = a :. ModuleInfo Source #

data HieModuleRow Source #

Constructors

HieModuleRow 

Fields

Instances

Instances details
Show HieModuleRow Source # 
Instance details

Defined in HieDb.Types

Eq HieModuleRow Source # 
Instance details

Defined in HieDb.Types

FromRow HieModuleRow Source # 
Instance details

Defined in HieDb.Types

ToRow HieModuleRow Source # 
Instance details

Defined in HieDb.Types

Methods

toRow :: HieModuleRow -> [SQLData] #

data RefRow Source #

Instances

Instances details
FromRow RefRow Source # 
Instance details

Defined in HieDb.Types

ToRow RefRow Source # 
Instance details

Defined in HieDb.Types

Methods

toRow :: RefRow -> [SQLData] #

data DeclRow Source #

Instances

Instances details
FromRow DeclRow Source # 
Instance details

Defined in HieDb.Types

ToRow DeclRow Source # 
Instance details

Defined in HieDb.Types

Methods

toRow :: DeclRow -> [SQLData] #

data ImportRow Source #

Instances

Instances details
FromRow ImportRow Source # 
Instance details

Defined in HieDb.Types

ToRow ImportRow Source # 
Instance details

Defined in HieDb.Types

Methods

toRow :: ImportRow -> [SQLData] #

data TypeName Source #

Constructors

TypeName 

data TypeRef Source #

Instances

Instances details
FromRow TypeRef Source # 
Instance details

Defined in HieDb.Types

ToRow TypeRef Source # 
Instance details

Defined in HieDb.Types

Methods

toRow :: TypeRef -> [SQLData] #

data DefRow Source #

Constructors

DefRow 

Instances

Instances details
FromRow DefRow Source # 
Instance details

Defined in HieDb.Types

ToRow DefRow Source # 
Instance details

Defined in HieDb.Types

Methods

toRow :: DefRow -> [SQLData] #

data ExportRow Source #

Instances

Instances details
FromRow ExportRow Source # 
Instance details

Defined in HieDb.Types

ToRow ExportRow Source # 
Instance details

Defined in HieDb.Types

Methods

toRow :: ExportRow -> [SQLData] #

class Monad m => NameCacheMonad m where Source #

Monad with access to NameCacheUpdater, which is needed to deserialize .hie files

Instances

Instances details
MonadIO m => NameCacheMonad (DbMonadT m) Source # 
Instance details

Defined in HieDb.Types

newtype DbMonadT m a Source #

Constructors

DbMonadT 

Instances

Instances details
MonadTrans DbMonadT Source # 
Instance details

Defined in HieDb.Types

Methods

lift :: Monad m => m a -> DbMonadT m a #

MonadIO m => MonadIO (DbMonadT m) Source # 
Instance details

Defined in HieDb.Types

Methods

liftIO :: IO a -> DbMonadT m a #

Monad m => Applicative (DbMonadT m) Source # 
Instance details

Defined in HieDb.Types

Methods

pure :: a -> DbMonadT m a #

(<*>) :: DbMonadT m (a -> b) -> DbMonadT m a -> DbMonadT m b #

liftA2 :: (a -> b -> c) -> DbMonadT m a -> DbMonadT m b -> DbMonadT m c #

(*>) :: DbMonadT m a -> DbMonadT m b -> DbMonadT m b #

(<*) :: DbMonadT m a -> DbMonadT m b -> DbMonadT m a #

Monad m => Functor (DbMonadT m) Source # 
Instance details

Defined in HieDb.Types

Methods

fmap :: (a -> b) -> DbMonadT m a -> DbMonadT m b #

(<$) :: a -> DbMonadT m b -> DbMonadT m a #

Monad m => Monad (DbMonadT m) Source # 
Instance details

Defined in HieDb.Types

Methods

(>>=) :: DbMonadT m a -> (a -> DbMonadT m b) -> DbMonadT m b #

(>>) :: DbMonadT m a -> DbMonadT m b -> DbMonadT m b #

return :: a -> DbMonadT m a #

MonadIO m => NameCacheMonad (DbMonadT m) Source # 
Instance details

Defined in HieDb.Types

data Symbol Source #

Constructors

Symbol 

Fields

Instances

Instances details
Read Symbol Source # 
Instance details

Defined in HieDb.Types

Show Symbol Source # 
Instance details

Defined in HieDb.Types

Eq Symbol Source # 
Instance details

Defined in HieDb.Types

Methods

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

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

Ord Symbol Source # 
Instance details

Defined in HieDb.Types

newtype LibDir Source #

GHC Library Directory. Typically you'll want to use libdir from ghc-paths

Constructors

LibDir FilePath 

type HieTarget = Either FilePath (ModuleName, Maybe Unit) Source #

A way to specify which HieFile to operate on. Either the path to .hie file is given in the Left Or ModuleName (with optional Unit) is given in the Right

Orphan instances

FromField Fingerprint Source # 
Instance details

FromField OccName Source # 
Instance details

FromField Unit Source # 
Instance details

FromField ModuleName Source # 
Instance details

FromRow ModuleName Source # 
Instance details

ToField Fingerprint Source # 
Instance details

ToField OccName Source # 
Instance details

Methods

toField :: OccName -> SQLData #

ToField Unit Source # 
Instance details

Methods

toField :: Unit -> SQLData #

ToField ModuleName Source # 
Instance details