Safe Haskell | None |
---|---|
Language | Haskell98 |
Extract used definitions from terms.
- getDefs' :: (GetDefs a, Monoid b) => (MetaId -> Maybe Term) -> (QName -> b) -> a -> b
- type GetDefsM b = ReaderT (GetDefsEnv b) (Writer b)
- data GetDefsEnv b = GetDefsEnv {}
- class Monad m => MonadGetDefs m where
- class GetDefs a where
- getDefs :: MonadGetDefs m => a -> m ()
Documentation
getDefs' :: (GetDefs a, Monoid b) => (MetaId -> Maybe Term) -> (QName -> b) -> a -> b Source
getDefs' lookup emb a
extracts all used definitions
(functions, data/record types) from a
, embedded into a monoid via emb
.
Instantiations of meta variables are obtained via lookup
.
Typical monoid instances would be [QName]
or Set QName
.
Note that emb
can also choose to discard a used definition
by mapping to the unit of the monoid.
type GetDefsM b = ReaderT (GetDefsEnv b) (Writer b) Source
Inputs to and outputs of getDefs'
are organized as a monad.
class Monad m => MonadGetDefs m where Source
What it takes to get the used definitions.
Monoid b => MonadGetDefs (GetDefsM b) Source |
Getting the used definitions.
getDefs :: MonadGetDefs m => a -> m () Source
GetDefs MetaId Source | |
GetDefs ClauseBody Source | |
GetDefs Clause Source | |
GetDefs LevelAtom Source | |
GetDefs PlusLevel Source | |
GetDefs Level Source | |
GetDefs Sort Source | |
GetDefs Type Source | |
GetDefs Term Source | |
GetDefs a => GetDefs [a] Source | |
GetDefs a => GetDefs (Maybe a) Source | |
GetDefs a => GetDefs (Dom a) Source | |
GetDefs a => GetDefs (Arg a) Source | |
GetDefs a => GetDefs (Abs a) Source | |
GetDefs a => GetDefs (Elim' a) Source | |
(GetDefs a, GetDefs b) => GetDefs (a, b) Source |