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

HieDb.Types

Synopsis

Documentation

newtype HieDb #

Constructors

HieDb 

Fields

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

data SourceFile #

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 #

Constructors

ModuleInfo 

Fields

Instances

Instances details
Show ModuleInfo # 
Instance details

Defined in HieDb.Types

Eq ModuleInfo # 
Instance details

Defined in HieDb.Types

FromRow ModuleInfo # 
Instance details

Defined in HieDb.Types

ToRow ModuleInfo # 
Instance details

Defined in HieDb.Types

Methods

toRow :: ModuleInfo -> [SQLData] #

type Res a = a :. ModuleInfo #

data HieModuleRow #

Constructors

HieModuleRow 

Fields

Instances

Instances details
Show HieModuleRow # 
Instance details

Defined in HieDb.Types

Eq HieModuleRow # 
Instance details

Defined in HieDb.Types

FromRow HieModuleRow # 
Instance details

Defined in HieDb.Types

ToRow HieModuleRow # 
Instance details

Defined in HieDb.Types

Methods

toRow :: HieModuleRow -> [SQLData] #

data RefRow #

Instances

Instances details
FromRow RefRow # 
Instance details

Defined in HieDb.Types

ToRow RefRow # 
Instance details

Defined in HieDb.Types

Methods

toRow :: RefRow -> [SQLData] #

data DeclRow #

Instances

Instances details
FromRow DeclRow # 
Instance details

Defined in HieDb.Types

ToRow DeclRow # 
Instance details

Defined in HieDb.Types

Methods

toRow :: DeclRow -> [SQLData] #

data ImportRow #

Instances

Instances details
FromRow ImportRow # 
Instance details

Defined in HieDb.Types

ToRow ImportRow # 
Instance details

Defined in HieDb.Types

Methods

toRow :: ImportRow -> [SQLData] #

data TypeName #

Constructors

TypeName 

data TypeRef #

Instances

Instances details
FromRow TypeRef # 
Instance details

Defined in HieDb.Types

ToRow TypeRef # 
Instance details

Defined in HieDb.Types

Methods

toRow :: TypeRef -> [SQLData] #

data DefRow #

Constructors

DefRow 

Instances

Instances details
FromRow DefRow # 
Instance details

Defined in HieDb.Types

ToRow DefRow # 
Instance details

Defined in HieDb.Types

Methods

toRow :: DefRow -> [SQLData] #

data ExportRow #

Instances

Instances details
FromRow ExportRow # 
Instance details

Defined in HieDb.Types

ToRow ExportRow # 
Instance details

Defined in HieDb.Types

Methods

toRow :: ExportRow -> [SQLData] #

class Monad m => NameCacheMonad (m :: Type -> Type) where #

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

Instances

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

Defined in HieDb.Types

newtype DbMonadT (m :: Type -> Type) a #

Constructors

DbMonadT 

Instances

Instances details
MonadTrans DbMonadT # 
Instance details

Defined in HieDb.Types

Methods

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

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

Defined in HieDb.Types

Methods

liftIO :: IO a -> DbMonadT m a #

Monad m => Applicative (DbMonadT m) # 
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) # 
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) # 
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) # 
Instance details

Defined in HieDb.Types

data Symbol #

Constructors

Symbol 

Fields

Instances

Instances details
Read Symbol # 
Instance details

Defined in HieDb.Types

Show Symbol # 
Instance details

Defined in HieDb.Types

Eq Symbol # 
Instance details

Defined in HieDb.Types

Methods

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

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

Ord Symbol # 
Instance details

Defined in HieDb.Types

newtype LibDir #

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

Constructors

LibDir FilePath 

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

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 # 
Instance details

FromField OccName # 
Instance details

FromField Unit # 
Instance details

FromField ModuleName # 
Instance details

FromRow ModuleName # 
Instance details

ToField Fingerprint # 
Instance details

ToField OccName # 
Instance details

Methods

toField :: OccName -> SQLData #

ToField Unit # 
Instance details

Methods

toField :: Unit -> SQLData #

ToField ModuleName # 
Instance details