clafer-0.3.7: clafer compiles Clafer models to other formats, such as Alloy, XML, HTML, Dot.

Safe HaskellNone
LanguageHaskell2010

Language.Clafer.Intermediate.Analysis

Synopsis

Documentation

data SSuper Source

Constructors

Ref String 
Colon String 

Instances

data SClafer Source

Easier to work with. IClafers have links from parents to children. SClafers have links from children to parent.

data Info Source

Constructors

Info 

Fields

sclafers :: [SClafer]
 

Instances

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

refOf :: (Uidable c, MonadAnalysis m) => c -> m c Source

refsOf :: (Uidable c, MonadAnalysis m) => c -> m [c] 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

isChild :: (Uidable c, MonadAnalysis m) => c -> c -> m Bool Source

data Anything Source

Constructors

Anything 

Instances

(|^) :: (MonadAnalysis m, Matchable a, Matchable b) => a -> b -> m [(SClafer, SClafer)] Source

(|->) :: (MonadAnalysis m, Matchable a, Matchable b) => a -> b -> m [(SClafer, SClafer)] Source

(|:) :: (MonadAnalysis m, Matchable a, Matchable b) => a -> b -> m [(SClafer, SClafer)] Source

liftMaybe :: Monad m => Maybe a -> MaybeT m a Source

liftList :: Monad m => [a] -> ListT m a Source

runListT_ :: Monad m => ListT m a -> m () Source

foreach :: m [a] -> ListT m a Source

foreachM :: Monad m => [a] -> ListT m a Source

subClafers :: (a, b) -> a Source

superClafers :: (a, b) -> b Source

findAll :: Monad m => m a -> ListT m a Source

select :: Monad m => m [a] -> (a -> b) -> m [b] Source

suchThat :: Monad m => m [a] -> (a -> Bool) -> m [a] Source

concatMapM :: Monad m => (a -> m [b]) -> [a] -> m [b] Source

whenM :: Monad m => m Bool -> m () -> m () Source

unlessM :: Monad m => m Bool -> m () -> m () Source

fromMaybeT :: Monad m => a -> MaybeT m a -> m a Source

mapMaybeT :: (m1 (Maybe a1) -> m (Maybe a)) -> MaybeT m1 a1 -> MaybeT m a Source

mapVSupplyT :: (Monad m, Monad m1) => (m1 a1 -> m a) -> VSupplyT m1 a1 -> VSupplyT m a Source

mapLeft :: (t -> a) -> Either t b -> Either a b Source

mapRight :: (t -> b) -> Either a t -> Either a b Source

(<:>) :: Monad m => m a -> m [a] -> m [a] Source

testing :: Eq b => (a -> b) -> a -> a -> Bool Source

comparing :: Ord b => (a -> b) -> a -> a -> Ordering Source

combine :: Ord a => [(a, b)] -> [(a, [b])] Source