hsdev-0.2.5.1: Haskell development library

Safe HaskellNone
LanguageHaskell98

HsDev.Database

Synopsis

Documentation

databaseIntersection :: Database -> Database -> Database Source #

Database intersection, prefers first database data

nullDatabase :: Database -> Bool Source #

Check if database is empty

databaseLocals :: Database -> Database Source #

Bring all locals to scope

databasePackageDbs :: Database -> [PackageDb] Source #

All scanned sandboxes

allModules :: Database -> [Module] Source #

All modules

fromModule :: InspectedModule -> Database Source #

Make database from module

fromProject :: Project -> Database Source #

Make database from project

filterDB :: (ModuleId -> Bool) -> (Project -> Bool) -> Database -> Database Source #

Filter database by predicate

projectDB :: Project -> Database -> Database Source #

Project database

packageDbDB :: PackageDb -> Database -> Database Source #

Package-db database

standaloneDB :: Database -> Database Source #

Standalone database

selectModules :: (Module -> Bool) -> Database -> [Module] Source #

Select module by predicate

selectDeclarations :: (ModuleDeclaration -> Bool) -> Database -> [ModuleDeclaration] Source #

Select declaration by predicate

lookupModule :: ModuleLocation -> Database -> Maybe Module Source #

Lookup module by its location and name

lookupFile :: FilePath -> Database -> Maybe Module Source #

Lookup module by its source file

getInspected :: Database -> Module -> InspectedModule Source #

Get inspected module

append :: Database -> Database -> Database Source #

Append database

remove :: Database -> Database -> Database Source #

Remove database

data Map k a :: * -> * -> * #

A Map from keys k to values a.

Instances

MonadState ResolvedTree ResolveM # 
Ord k => TraverseMin k (Map k) 

Methods

traverseMin :: (Indexable k p, Applicative f) => p v (f v) -> Map k v -> f (Map k v) #

Ord k => TraverseMax k (Map k) 

Methods

traverseMax :: (Indexable k p, Applicative f) => p v (f v) -> Map k v -> f (Map k v) #

Functor (Map k) 

Methods

fmap :: (a -> b) -> Map k a -> Map k b #

(<$) :: a -> Map k b -> Map k a #

Foldable (Map k) 

Methods

fold :: Monoid m => Map k m -> m #

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

foldr :: (a -> b -> b) -> b -> Map k a -> b #

foldr' :: (a -> b -> b) -> b -> Map k a -> b #

foldl :: (b -> a -> b) -> b -> Map k a -> b #

foldl' :: (b -> a -> b) -> b -> Map k a -> b #

foldr1 :: (a -> a -> a) -> Map k a -> a #

foldl1 :: (a -> a -> a) -> Map k a -> a #

toList :: Map k a -> [a] #

null :: Map k a -> Bool #

length :: Map k a -> Int #

elem :: Eq a => a -> Map k a -> Bool #

maximum :: Ord a => Map k a -> a #

minimum :: Ord a => Map k a -> a #

sum :: Num a => Map k a -> a #

product :: Num a => Map k a -> a #

Traversable (Map k) 

Methods

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

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

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

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

ToJSONKey k => ToJSON1 (Map k) 

Methods

liftToJSON :: (a -> Value) -> ([a] -> Value) -> Map k a -> Value #

liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Map k a] -> Value #

liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Map k a -> Encoding #

liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Map k a] -> Encoding #

(FromJSONKey k, Ord k) => FromJSON1 (Map k) 

Methods

liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Map k a) #

liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Map k a] #

Ord k => TrieMap (Map k) 

Associated Types

type Key (Map k :: * -> *) :: * #

Methods

emptyTM :: Map k a #

lookupTM :: Key (Map k) -> Map k b -> Maybe b #

alterTM :: Key (Map k) -> XT b -> Map k b -> Map k b #

mapTM :: (a -> b) -> Map k a -> Map k b #

foldTM :: (a -> b -> b) -> Map k a -> b -> b #

Ord k => Apply (Map k)

A Map is not Applicative, but it is an instance of Apply

Methods

(<.>) :: Map k (a -> b) -> Map k a -> Map k b #

(.>) :: Map k a -> Map k b -> Map k b #

(<.) :: Map k a -> Map k b -> Map k a #

Ord k => Bind (Map k)

A Map is not a Monad, but it is an instance of Bind

Methods

(>>-) :: Map k a -> (a -> Map k b) -> Map k b #

join :: Map k (Map k a) -> Map k a #

Ord k => IsList (Map k v) 

Associated Types

type Item (Map k v) :: * #

Methods

fromList :: [Item (Map k v)] -> Map k v #

fromListN :: Int -> [Item (Map k v)] -> Map k v #

toList :: Map k v -> [Item (Map k v)] #

(Eq k, Eq a) => Eq (Map k a) 

Methods

(==) :: Map k a -> Map k a -> Bool #

(/=) :: Map k a -> Map k a -> Bool #

(Data k, Data a, Ord k) => Data (Map k a) 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Map k a -> c (Map k a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Map k a) #

toConstr :: Map k a -> Constr #

dataTypeOf :: Map k a -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (Map k a)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Map k a)) #

gmapT :: (forall b. Data b => b -> b) -> Map k a -> Map k a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Map k a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Map k a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) #

(Ord k, Ord v) => Ord (Map k v) 

Methods

compare :: Map k v -> Map k v -> Ordering #

(<) :: Map k v -> Map k v -> Bool #

(<=) :: Map k v -> Map k v -> Bool #

(>) :: Map k v -> Map k v -> Bool #

(>=) :: Map k v -> Map k v -> Bool #

max :: Map k v -> Map k v -> Map k v #

min :: Map k v -> Map k v -> Map k v #

(Ord k, Read k, Read e) => Read (Map k e) 

Methods

readsPrec :: Int -> ReadS (Map k e) #

readList :: ReadS [Map k e] #

readPrec :: ReadPrec (Map k e) #

readListPrec :: ReadPrec [Map k e] #

(Show k, Show a) => Show (Map k a) 

Methods

showsPrec :: Int -> Map k a -> ShowS #

show :: Map k a -> String #

showList :: [Map k a] -> ShowS #

Ord k => Semigroup (Map k v) 

Methods

(<>) :: Map k v -> Map k v -> Map k v #

sconcat :: NonEmpty (Map k v) -> Map k v #

stimes :: Integral b => b -> Map k v -> Map k v #

Ord k => Monoid (Map k v) 

Methods

mempty :: Map k v #

mappend :: Map k v -> Map k v -> Map k v #

mconcat :: [Map k v] -> Map k v #

(ToJSON v, ToJSONKey k) => ToJSON (Map k v) 

Methods

toJSON :: Map k v -> Value #

toEncoding :: Map k v -> Encoding #

toJSONList :: [Map k v] -> Value #

toEncodingList :: [Map k v] -> Encoding #

(FromJSONKey k, Ord k, FromJSON v) => FromJSON (Map k v) 

Methods

parseJSON :: Value -> Parser (Map k v) #

parseJSONList :: Value -> Parser [Map k v] #

(NFData k, NFData a) => NFData (Map k a) 

Methods

rnf :: Map k a -> () #

(Outputable key, Outputable elt) => Outputable (Map key elt) 

Methods

ppr :: Map key elt -> SDoc #

pprPrec :: Rational -> Map key elt -> SDoc #

Ord k => Ixed (Map k a) 

Methods

ix :: Index (Map k a) -> Traversal' (Map k a) (IxValue (Map k a)) #

Ord k => At (Map k a) 

Methods

at :: Index (Map k a) -> Lens' (Map k a) (Maybe (IxValue (Map k a))) #

Ord k => Wrapped (Map k a) 

Associated Types

type Unwrapped (Map k a) :: * #

Methods

_Wrapped' :: Iso' (Map k a) (Unwrapped (Map k a)) #

(Ord k, Group a) => Group (Map k a) Source # 

Methods

add :: Map k a -> Map k a -> Map k a Source #

sub :: Map k a -> Map k a -> Map k a Source #

zero :: Map k a Source #

((~) * t (Map k' a'), Ord k) => Rewrapped (Map k a) t

Use wrapping fromList. unwrapping returns a sorted list.

(~) * c d => Each (Map c a) (Map d b) a b
each :: Traversal (Map c a) (Map c b) a b

Methods

each :: Traversal (Map c a) (Map d b) a b #

type Key (Map k) 
type Key (Map k) = k
type Item (Map k v) 
type Item (Map k v) = (k, v)
type Index (Map k a) 
type Index (Map k a) = k
type IxValue (Map k a) 
type IxValue (Map k a) = a
type Unwrapped (Map k a) 
type Unwrapped (Map k a) = [(k, a)]
type Index (Map k a) 
type Index (Map k a) = k
type IxValue (Map k a) 
type IxValue (Map k a) = a