hsdev-0.3.3.4: Haskell development library

Safe HaskellNone
LanguageHaskell98

HsDev.Symbols.Types

Contents

Synopsis

Documentation

data Import Source #

Import

Instances
Eq Import Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

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

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

Ord Import Source # 
Instance details

Defined in HsDev.Symbols.Types

Show Import Source # 
Instance details

Defined in HsDev.Symbols.Types

NFData Import Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

rnf :: Import -> () #

ToJSON Import Source # 
Instance details

Defined in HsDev.Symbols.Types

FromJSON Import Source # 
Instance details

Defined in HsDev.Symbols.Types

FromRow Import Source # 
Instance details

Defined in HsDev.Database.SQLite.Instances

ToRow Import Source # 
Instance details

Defined in HsDev.Database.SQLite.Instances

Methods

toRow :: Import -> [SQLData] #

data Module Source #

Module

Instances
Eq Module Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

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

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

Ord Module Source # 
Instance details

Defined in HsDev.Symbols.Types

Show InspectedModule Source # 
Instance details

Defined in HsDev.Symbols.Types

Show Module Source # 
Instance details

Defined in HsDev.Symbols.Types

NFData Module Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

rnf :: Module -> () #

ToJSON Module Source # 
Instance details

Defined in HsDev.Symbols.Types

FromJSON Module Source # 
Instance details

Defined in HsDev.Symbols.Types

Sourced Module Source # 
Instance details

Defined in HsDev.Symbols.Types

Documented Module Source # 
Instance details

Defined in HsDev.Symbols.Types

ToEnvironment Module Source # 
Instance details

Defined in HsDev.Symbols.HaskellNames

ToEnvironment [Module] Source # 
Instance details

Defined in HsDev.Symbols.HaskellNames

moduleSymbols :: Traversal' Module Symbol Source #

Make each symbol appear only once

data Symbol Source #

Instances
Eq Symbol Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

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

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

Ord Symbol Source # 
Instance details

Defined in HsDev.Symbols.Types

Show Symbol Source # 
Instance details

Defined in HsDev.Symbols.Types

NFData Symbol Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

rnf :: Symbol -> () #

ToJSON Symbol Source # 
Instance details

Defined in HsDev.Symbols.Types

FromJSON Symbol Source # 
Instance details

Defined in HsDev.Symbols.Types

FromRow Symbol Source # 
Instance details

Defined in HsDev.Database.SQLite.Instances

ToRow Symbol Source # 
Instance details

Defined in HsDev.Database.SQLite.Instances

Methods

toRow :: Symbol -> [SQLData] #

Sourced Symbol Source # 
Instance details

Defined in HsDev.Symbols.Types

Documented Symbol Source # 
Instance details

Defined in HsDev.Symbols.Types

data SymbolInfo Source #

Instances
Eq SymbolInfo Source # 
Instance details

Defined in HsDev.Symbols.Types

Ord SymbolInfo Source # 
Instance details

Defined in HsDev.Symbols.Types

Read SymbolInfo Source # 
Instance details

Defined in HsDev.Symbols.Types

Show SymbolInfo Source # 
Instance details

Defined in HsDev.Symbols.Types

NFData SymbolInfo Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

rnf :: SymbolInfo -> () #

ToJSON SymbolInfo Source # 
Instance details

Defined in HsDev.Symbols.Types

FromJSON SymbolInfo Source # 
Instance details

Defined in HsDev.Symbols.Types

FromRow SymbolInfo Source # 
Instance details

Defined in HsDev.Database.SQLite.Instances

ToRow SymbolInfo Source # 
Instance details

Defined in HsDev.Database.SQLite.Instances

Methods

toRow :: SymbolInfo -> [SQLData] #

data Scoped a Source #

Scoped entity with qualifier

Constructors

Scoped 
Instances
Eq a => Eq (Scoped a) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

(==) :: Scoped a -> Scoped a -> Bool #

(/=) :: Scoped a -> Scoped a -> Bool #

Ord a => Ord (Scoped a) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

compare :: Scoped a -> Scoped a -> Ordering #

(<) :: Scoped a -> Scoped a -> Bool #

(<=) :: Scoped a -> Scoped a -> Bool #

(>) :: Scoped a -> Scoped a -> Bool #

(>=) :: Scoped a -> Scoped a -> Bool #

max :: Scoped a -> Scoped a -> Scoped a #

min :: Scoped a -> Scoped a -> Scoped a #

Show a => Show (Scoped a) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

showsPrec :: Int -> Scoped a -> ShowS #

show :: Scoped a -> String #

showList :: [Scoped a] -> ShowS #

ToJSON a => ToJSON (Scoped a) Source # 
Instance details

Defined in HsDev.Symbols.Types

FromJSON a => FromJSON (Scoped a) Source # 
Instance details

Defined in HsDev.Symbols.Types

FromRow a => FromRow (Scoped a) Source # 
Instance details

Defined in HsDev.Database.SQLite.Instances

Methods

fromRow :: RowParser (Scoped a) #

ToRow a => ToRow (Scoped a) Source # 
Instance details

Defined in HsDev.Database.SQLite.Instances

Methods

toRow :: Scoped a -> [SQLData] #

scoped :: forall a a. Lens (Scoped a) (Scoped a) a a Source #

data SymbolUsage Source #

Symbol usage

infoOf :: EmptySymbolInfo a => a -> SymbolInfo Source #

data Inspection Source #

Inspection data

Constructors

InspectionNone

No inspection

InspectionAt

Time and flags of inspection

Instances
Eq Inspection Source # 
Instance details

Defined in HsDev.Symbols.Types

Ord Inspection Source # 
Instance details

Defined in HsDev.Symbols.Types

Show Inspection Source # 
Instance details

Defined in HsDev.Symbols.Types

Semigroup Inspection Source # 
Instance details

Defined in HsDev.Symbols.Types

Monoid Inspection Source # 
Instance details

Defined in HsDev.Symbols.Types

NFData Inspection Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

rnf :: Inspection -> () #

ToJSON Inspection Source # 
Instance details

Defined in HsDev.Symbols.Types

FromJSON Inspection Source # 
Instance details

Defined in HsDev.Symbols.Types

FromRow Inspection Source # 
Instance details

Defined in HsDev.Database.SQLite.Instances

ToRow Inspection Source # 
Instance details

Defined in HsDev.Database.SQLite.Instances

Methods

toRow :: Inspection -> [SQLData] #

Monad m => MonadState (Inspection, Set t) (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

get :: InspectM k t m (Inspection, Set t) #

put :: (Inspection, Set t) -> InspectM k t m () #

state :: ((Inspection, Set t) -> (a, (Inspection, Set t))) -> InspectM k t m a #

fresh :: Inspection -> Inspection -> Bool Source #

Is left Inspection fresh comparing to right one

data Inspected k t a Source #

Inspected entity

Instances
Show InspectedModule Source # 
Instance details

Defined in HsDev.Symbols.Types

Functor (Inspected k t) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

fmap :: (a -> b) -> Inspected k t a -> Inspected k t b #

(<$) :: a -> Inspected k t b -> Inspected k t a #

Foldable (Inspected k t) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

fold :: Monoid m => Inspected k t m -> m #

foldMap :: Monoid m => (a -> m) -> Inspected k t a -> m #

foldr :: (a -> b -> b) -> b -> Inspected k t a -> b #

foldr' :: (a -> b -> b) -> b -> Inspected k t a -> b #

foldl :: (b -> a -> b) -> b -> Inspected k t a -> b #

foldl' :: (b -> a -> b) -> b -> Inspected k t a -> b #

foldr1 :: (a -> a -> a) -> Inspected k t a -> a #

foldl1 :: (a -> a -> a) -> Inspected k t a -> a #

toList :: Inspected k t a -> [a] #

null :: Inspected k t a -> Bool #

length :: Inspected k t a -> Int #

elem :: Eq a => a -> Inspected k t a -> Bool #

maximum :: Ord a => Inspected k t a -> a #

minimum :: Ord a => Inspected k t a -> a #

sum :: Num a => Inspected k t a -> a #

product :: Num a => Inspected k t a -> a #

Traversable (Inspected k t) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

traverse :: Applicative f => (a -> f b) -> Inspected k t a -> f (Inspected k t b) #

sequenceA :: Applicative f => Inspected k t (f a) -> f (Inspected k t a) #

mapM :: Monad m => (a -> m b) -> Inspected k t a -> m (Inspected k t b) #

sequence :: Monad m => Inspected k t (m a) -> m (Inspected k t a) #

(Eq k, Eq t, Eq a) => Eq (Inspected k t a) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

(==) :: Inspected k t a -> Inspected k t a -> Bool #

(/=) :: Inspected k t a -> Inspected k t a -> Bool #

(Ord k, Ord t, Ord a) => Ord (Inspected k t a) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

compare :: Inspected k t a -> Inspected k t a -> Ordering #

(<) :: Inspected k t a -> Inspected k t a -> Bool #

(<=) :: Inspected k t a -> Inspected k t a -> Bool #

(>) :: Inspected k t a -> Inspected k t a -> Bool #

(>=) :: Inspected k t a -> Inspected k t a -> Bool #

max :: Inspected k t a -> Inspected k t a -> Inspected k t a #

min :: Inspected k t a -> Inspected k t a -> Inspected k t a #

(NFData k, NFData t, NFData a) => NFData (Inspected k t a) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

rnf :: Inspected k t a -> () #

(ToJSON k, ToJSON t, ToJSON a) => ToJSON (Inspected k t a) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

toJSON :: Inspected k t a -> Value #

toEncoding :: Inspected k t a -> Encoding #

toJSONList :: [Inspected k t a] -> Value #

toEncodingList :: [Inspected k t a] -> Encoding #

(FromJSON k, Ord t, FromJSON t, FromJSON a) => FromJSON (Inspected k t a) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

parseJSON :: Value -> Parser (Inspected k t a) #

parseJSONList :: Value -> Parser [Inspected k t a] #

inspection :: forall k t a. Lens' (Inspected k t a) Inspection Source #

inspectedKey :: forall k t a k. Lens (Inspected k t a) (Inspected k t a) k k Source #

inspectionTags :: forall k t a t. Lens (Inspected k t a) (Inspected k t a) (Set t) (Set t) Source #

inspectionResult :: forall k t a a. Lens (Inspected k t a) (Inspected k t a) (Either HsDevError a) (Either HsDevError a) Source #

newtype InspectM k t m a Source #

Constructors

InspectM 
Instances
Monad m => MonadReader k (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

ask :: InspectM k t m k #

local :: (k -> k) -> InspectM k t m a -> InspectM k t m a #

reader :: (k -> a) -> InspectM k t m a #

Monad m => MonadError HsDevError (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

throwError :: HsDevError -> InspectM k t m a #

catchError :: InspectM k t m a -> (HsDevError -> InspectM k t m a) -> InspectM k t m a #

MonadTrans (InspectM k t) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

lift :: Monad m => m a -> InspectM k t m a #

Monad m => MonadState (Inspection, Set t) (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

get :: InspectM k t m (Inspection, Set t) #

put :: (Inspection, Set t) -> InspectM k t m () #

state :: ((Inspection, Set t) -> (a, (Inspection, Set t))) -> InspectM k t m a #

Monad m => Monad (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

(>>=) :: InspectM k t m a -> (a -> InspectM k t m b) -> InspectM k t m b #

(>>) :: InspectM k t m a -> InspectM k t m b -> InspectM k t m b #

return :: a -> InspectM k t m a #

fail :: String -> InspectM k t m a #

Functor m => Functor (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

fmap :: (a -> b) -> InspectM k t m a -> InspectM k t m b #

(<$) :: a -> InspectM k t m b -> InspectM k t m a #

Monad m => Applicative (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

pure :: a -> InspectM k t m a #

(<*>) :: InspectM k t m (a -> b) -> InspectM k t m a -> InspectM k t m b #

liftA2 :: (a -> b -> c) -> InspectM k t m a -> InspectM k t m b -> InspectM k t m c #

(*>) :: InspectM k t m a -> InspectM k t m b -> InspectM k t m b #

(<*) :: InspectM k t m a -> InspectM k t m b -> InspectM k t m a #

Monad m => MonadPlus (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

mzero :: InspectM k t m a #

mplus :: InspectM k t m a -> InspectM k t m a -> InspectM k t m a #

Monad m => Alternative (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

empty :: InspectM k t m a #

(<|>) :: InspectM k t m a -> InspectM k t m a -> InspectM k t m a #

some :: InspectM k t m a -> InspectM k t m [a] #

many :: InspectM k t m a -> InspectM k t m [a] #

MonadIO m => MonadIO (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

liftIO :: IO a -> InspectM k t m a #

MonadThrow m => MonadThrow (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

throwM :: Exception e => e -> InspectM k t m a #

MonadCatch m => MonadCatch (InspectM k t m) Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

catch :: Exception e => InspectM k t m a -> (e -> InspectM k t m a) -> InspectM k t m a #

runInspect :: (Monad m, Ord t) => k -> InspectM k t m a -> m (Inspected k t a) Source #

continueInspect :: (Monad m, Ord t) => Inspected k t a -> (a -> InspectM k t m b) -> m (Inspected k t b) Source #

Continue inspection

inspect :: MonadCatch m => m Inspection -> (k -> m a) -> InspectM k t m a Source #

inspect_ :: MonadCatch m => m Inspection -> m a -> InspectM k t m a Source #

withInspection :: MonadCatch m => m Inspection -> InspectM k t m a -> InspectM k t m a Source #

noTags :: Set t Source #

Empty tags

tag :: t -> Set t Source #

One tag

data ModuleTag Source #

Instances
Bounded ModuleTag Source # 
Instance details

Defined in HsDev.Symbols.Types

Enum ModuleTag Source # 
Instance details

Defined in HsDev.Symbols.Types

Eq ModuleTag Source # 
Instance details

Defined in HsDev.Symbols.Types

Ord ModuleTag Source # 
Instance details

Defined in HsDev.Symbols.Types

Read ModuleTag Source # 
Instance details

Defined in HsDev.Symbols.Types

Show InspectedModule Source # 
Instance details

Defined in HsDev.Symbols.Types

Show ModuleTag Source # 
Instance details

Defined in HsDev.Symbols.Types

NFData ModuleTag Source # 
Instance details

Defined in HsDev.Symbols.Types

Methods

rnf :: ModuleTag -> () #

ToJSON ModuleTag Source # 
Instance details

Defined in HsDev.Symbols.Types

FromJSON ModuleTag Source # 
Instance details

Defined in HsDev.Symbols.Types

Display ModuleTag Source # 
Instance details

Defined in HsDev.Symbols.Types

Orphan instances

Read POSIXTime Source # 
Instance details

NFData Fixity Source # 
Instance details

Methods

rnf :: Fixity -> () #

NFData Boxed Source # 
Instance details

Methods

rnf :: Boxed -> () #

ToJSON Fixity Source # 
Instance details

FromJSON Fixity Source # 
Instance details

Documented ModuleId Source # 
Instance details

Documented SymbolId Source # 
Instance details

NFData l => NFData (Name l) Source # 
Instance details

Methods

rnf :: Name l -> () #

NFData l => NFData (ModuleName l) Source # 
Instance details

Methods

rnf :: ModuleName l -> () #

NFData l => NFData (SpecialCon l) Source # 
Instance details

Methods

rnf :: SpecialCon l -> () #

NFData l => NFData (QName l) Source # 
Instance details

Methods

rnf :: QName l -> () #

NFData (Assoc ()) Source # 
Instance details

Methods

rnf :: Assoc () -> () #

ToJSON (Assoc ()) Source # 
Instance details

FromJSON (Assoc ()) Source # 
Instance details