Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype AnalysisT m a = AnalysisT (ReaderT Info m a)
- type Analysis = AnalysisT Identity
- class (Monad m, Functor m) => MonadAnalysis m where
- clafers :: m [SClafer]
- withClafers :: [SClafer] -> m a -> m a
- withExtraClafers :: MonadAnalysis m => [SClafer] -> m a -> m a
- isConcrete :: SClafer -> Bool
- isBase :: SClafer -> Bool
- isDerived :: SClafer -> Bool
- data SSuper
- data SClafer = SClafer {}
- data Info = Info {}
- runAnalysis :: Analysis a -> Info -> a
- runAnalysisT :: AnalysisT m a -> Info -> m a
- claferWithUid :: MonadAnalysis m => String -> m SClafer
- parentUid :: Monad m => SClafer -> m String
- parentOf :: (Uidable c, MonadAnalysis m) => c -> m c
- parentsOf :: (Uidable c, MonadAnalysis m) => c -> m [c]
- ancestorsOf :: (Uidable c, MonadAnalysis m) => c -> m [c]
- directChildrenOf :: (Uidable c, MonadAnalysis m) => c -> m [c]
- directDescendantsOf :: (Uidable c, MonadAnalysis m) => c -> m [c]
- topNonRootAncestor :: (Uidable c, MonadAnalysis m) => c -> m c
- refUid :: Monad m => SClafer -> m String
- refOf :: (Uidable c, MonadAnalysis m) => c -> m c
- refsOf :: (Uidable c, MonadAnalysis m) => c -> m [c]
- colonUid :: (Uidable c, MonadAnalysis m) => c -> m String
- colonOf :: (Uidable c, MonadAnalysis m) => c -> m c
- colonsOf :: (Uidable c, MonadAnalysis m) => c -> m [c]
- colonsTo :: (Uidable c, MonadAnalysis m) => c -> m [c]
- hierarchy :: (Uidable c, MonadAnalysis m) => c -> m [c]
- isDirectChild :: (Uidable c, MonadAnalysis m) => c -> c -> m Bool
- isIndirectChild :: (Uidable c, MonadAnalysis m) => c -> c -> m Bool
- isChild :: (Uidable c, MonadAnalysis m) => c -> c -> m Bool
- class Matchable c => Uidable c where
- toClafer :: MonadAnalysis m => c -> m SClafer
- fromClafer :: MonadAnalysis m => SClafer -> m c
- toUid :: MonadAnalysis m => c -> m String
- fromUid :: MonadAnalysis m => String -> m c
- data Anything = Anything
- class Matchable u where
- anything :: Anything
- (|^) :: (MonadAnalysis m, Matchable a, Matchable b) => a -> b -> m [(SClafer, SClafer)]
- (|->) :: (MonadAnalysis m, Matchable a, Matchable b) => a -> b -> m [(SClafer, SClafer)]
- (|:) :: (MonadAnalysis m, Matchable a, Matchable b) => a -> b -> m [(SClafer, SClafer)]
- constraintsUnder :: (MonadAnalysis m, Matchable a) => a -> m [(SClafer, PExp)]
- rootUid :: String
- convertClafer :: IClafer -> [SClafer]
- gatherInfo :: IModule -> Info
- liftMaybe :: Monad m => Maybe a -> MaybeT m a
- liftList :: Monad m => [a] -> ListT m a
- runListT_ :: Monad m => ListT m a -> m ()
- foreach :: m [a] -> ListT m a
- foreachM :: Monad m => [a] -> ListT m a
- subClafers :: (a, b) -> a
- superClafers :: (a, b) -> b
- findAll :: Monad m => m a -> ListT m a
- select :: Monad m => m [a] -> (a -> b) -> m [b]
- suchThat :: Monad m => m [a] -> (a -> Bool) -> m [a]
- concatMapM :: Monad m => (a -> m [b]) -> [a] -> m [b]
- whenM :: Monad m => m Bool -> m () -> m ()
- unlessM :: Monad m => m Bool -> m () -> m ()
- fromMaybeT :: Monad m => a -> MaybeT m a -> m a
- mapMaybeT :: (m1 (Maybe a1) -> m (Maybe a)) -> MaybeT m1 a1 -> MaybeT m a
- mapVSupplyT :: (Monad m, Monad m1) => (m1 a1 -> m a) -> VSupplyT m1 a1 -> VSupplyT m a
- mapLeft :: (t -> a) -> Either t b -> Either a b
- mapRight :: (t -> b) -> Either a t -> Either a b
- (<:>) :: Monad m => m a -> m [a] -> m [a]
- testing :: Eq b => (a -> b) -> a -> a -> Bool
- comparing :: Ord b => (a -> b) -> a -> a -> Ordering
- syntaxOf :: PExp -> String
- combine :: Ord a => [(a, b)] -> [(a, [b])]
- sameAs :: PExp -> PExp -> Bool
Documentation
MonadTrans AnalysisT | |
MonadError e m => MonadError e (AnalysisT m) | |
Monad m => MonadReader Info (AnalysisT m) | |
MonadState s m => MonadState s (AnalysisT m) | |
Alternative m => Alternative (AnalysisT m) | |
Monad m => Monad (AnalysisT m) | |
Functor m => Functor (AnalysisT m) | |
MonadPlus m => MonadPlus (AnalysisT m) | |
Applicative m => Applicative (AnalysisT m) | |
(Monad m, Functor m) => MonadAnalysis (AnalysisT m) |
class (Monad m, Functor m) => MonadAnalysis m where Source
MonadAnalysis m => MonadAnalysis (MaybeT m) | |
MonadAnalysis m => MonadAnalysis (VSupplyT m) | |
MonadAnalysis m => MonadAnalysis (ListT m) | |
(Monad m, Functor m) => MonadAnalysis (AnalysisT m) | |
(Error e, MonadAnalysis m) => MonadAnalysis (ErrorT e m) | |
MonadAnalysis m => MonadAnalysis (ReaderT r m) | |
(Monoid w, MonadAnalysis m) => MonadAnalysis (WriterT w m) |
withExtraClafers :: MonadAnalysis m => [SClafer] -> m a -> m a Source
isConcrete :: SClafer -> Bool Source
Easier to work with. IClafers have links from parents to children. SClafers have links from children to parent.
runAnalysis :: Analysis a -> Info -> a Source
runAnalysisT :: AnalysisT m a -> Info -> m a Source
claferWithUid :: MonadAnalysis m => String -> m SClafer Source
parentOf :: (Uidable c, MonadAnalysis m) => c -> m c Source
parentsOf :: (Uidable c, MonadAnalysis m) => c -> m [c] Source
ancestorsOf :: (Uidable c, MonadAnalysis m) => c -> m [c] Source
directChildrenOf :: (Uidable c, MonadAnalysis m) => c -> m [c] Source
directDescendantsOf :: (Uidable c, MonadAnalysis m) => c -> m [c] Source
topNonRootAncestor :: (Uidable c, MonadAnalysis m) => c -> m c Source
refOf :: (Uidable c, MonadAnalysis m) => c -> m c Source
refsOf :: (Uidable c, MonadAnalysis m) => c -> m [c] Source
colonUid :: (Uidable c, MonadAnalysis m) => c -> m String Source
colonOf :: (Uidable c, MonadAnalysis m) => c -> m c Source
colonsOf :: (Uidable c, MonadAnalysis m) => c -> m [c] Source
colonsTo :: (Uidable c, MonadAnalysis m) => c -> m [c] Source
hierarchy :: (Uidable c, MonadAnalysis m) => c -> m [c] Source
isDirectChild :: (Uidable c, MonadAnalysis m) => c -> c -> m Bool Source
isIndirectChild :: (Uidable c, MonadAnalysis m) => c -> c -> m Bool Source
isChild :: (Uidable c, MonadAnalysis m) => c -> c -> m Bool Source
class Matchable c => Uidable c where Source
toClafer :: MonadAnalysis m => c -> m SClafer Source
fromClafer :: MonadAnalysis m => SClafer -> m c Source
toUid :: MonadAnalysis m => c -> m String Source
fromUid :: MonadAnalysis m => String -> m c Source
constraintsUnder :: (MonadAnalysis m, Matchable a) => a -> m [(SClafer, PExp)] Source
convertClafer :: IClafer -> [SClafer] Source
gatherInfo :: IModule -> Info Source
subClafers :: (a, b) -> a Source
superClafers :: (a, b) -> b Source
concatMapM :: Monad m => (a -> m [b]) -> [a] -> m [b] Source
fromMaybeT :: Monad m => a -> MaybeT m a -> m a Source