hsdev-0.3.1.2: Haskell development library

Safe HaskellNone
LanguageHaskell98

HsDev.Symbols.Types

Contents

Synopsis

Documentation

data Module Source #

Module

moduleSymbols :: Traversal' Module Symbol Source #

Make each symbol appear only once

data SymbolInfo Source #

data Scoped a Source #

Scoped entity with qualifier

Constructors

Scoped 

Instances

Eq a => Eq (Scoped a) Source # 

Methods

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

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

Ord a => Ord (Scoped a) Source # 

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 # 

Methods

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

show :: Scoped a -> String #

showList :: [Scoped a] -> ShowS #

ToJSON a => ToJSON (Scoped a) Source # 
FromJSON a => FromJSON (Scoped a) Source # 

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

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

data Inspection Source #

Inspection data

Constructors

InspectionNone

No inspection

InspectionAt

Time and flags of inspection

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 # 
Functor (Inspected k t) Source # 

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 # 

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 # 

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 # 

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 # 

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 # 

Methods

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

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

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 # 

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 # 

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 # 

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 # 

Methods

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

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

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 # 

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 # 

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 # 

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 # 

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 # 

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 # 

Methods

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

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

Methods

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

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

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 # 
Enum ModuleTag Source # 
Eq ModuleTag Source # 
Ord ModuleTag Source # 
Read ModuleTag Source # 
Show InspectedModule Source # 
Show ModuleTag Source # 
NFData ModuleTag Source # 

Methods

rnf :: ModuleTag -> () #

ToJSON ModuleTag Source # 
FromJSON ModuleTag Source # 
Display ModuleTag Source # 

Orphan instances