hiedb-0.1.0.0: Generates a references DB from .hie files
Safe HaskellNone
LanguageHaskell2010

HieDb.Types

Synopsis

Documentation

newtype HieDb Source #

Constructors

HieDb 

Fields

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

data ModuleInfo Source #

Constructors

ModuleInfo 

Fields

Instances

Instances details
Show 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
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 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] #

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 #

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 #

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 => 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 #

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

Defined in HieDb.Types

Methods

liftIO :: IO 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
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

Read Symbol Source # 
Instance details

Defined in HieDb.Types

Show 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 UnitId) 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 UnitId) is given in the Right

Orphan instances

FromField ModuleName Source # 
Instance details

FromField UnitId Source # 
Instance details

FromField OccName Source # 
Instance details

ToField ModuleName Source # 
Instance details

ToField UnitId Source # 
Instance details

Methods

toField :: UnitId -> SQLData #

ToField OccName Source # 
Instance details

Methods

toField :: OccName -> SQLData #