| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Modelling.CdOd.MatchCdOd
Synopsis
- data MatchCdOdConfig = MatchCdOdConfig {
- allowedCdMutations :: ![CdMutation]
- classConfig :: ClassConfig
- maxInstances :: Maybe Integer
- odDistribution :: OdDistributionConfig
- objectConfig :: ObjectConfig
- objectProperties :: ObjectProperties
- omittedDefaultMultiplicities :: OmittedDefaultMultiplicities
- printSolution :: Bool
- timeout :: Maybe Int
- withNonTrivialInheritance :: Maybe Bool
- extraText :: ExtraText
- data MatchCdOdInstance = MatchCdOdInstance {
- cdDrawSettings :: !CdDrawSettings
- diagrams :: Map Int Cd
- hiddenReferenceCd :: Maybe Cd
- instances :: Map Char ([Int], Od)
- showSolution :: !Bool
- taskText :: !MatchCdOdTaskText
- addText :: ExtraText
- data MatchCdOdTaskTextElement
- data OdDistributionConfig = OdDistributionConfig {}
- checkMatchCdOdConfig :: MatchCdOdConfig -> Maybe String
- checkMatchCdOdInstance :: MatchCdOdInstance -> Maybe String
- defaultMatchCdOdConfig :: MatchCdOdConfig
- defaultMatchCdOdInstance :: MatchCdOdInstance
- defaultMatchCdOdTaskText :: Int -> Int -> MatchCdOdTaskText
- getMatchCdOdTask :: forall (m :: Type -> Type) g. (MonadCatch m, RandomGen g) => (MatchCdOdConfig -> RandT g m (Map Int Cd, Cd, Map Char ([Int], AlloyInstance))) -> MatchCdOdConfig -> RandT g m MatchCdOdInstance
- getODInstances :: MonadAlloy m => MatchCdOdConfig -> Cd -> Cd -> Cd -> Int -> m (Map [Int] [AlloyInstance])
- matchCdOd :: (MonadAlloy m, MonadCatch m, MonadFail m) => MatchCdOdConfig -> Int -> Int -> m MatchCdOdInstance
- matchCdOdEvaluation :: forall (m :: Type -> Type) t. (Alternative m, Foldable t, MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => FilePath -> MatchCdOdInstance -> t (Int, Letters) -> Rated m
- matchCdOdSolution :: MatchCdOdInstance -> [(Int, Letters)]
- matchCdOdSyntax :: forall t (m :: Type -> Type). (Foldable t, OutputCapable m) => MatchCdOdInstance -> t (Int, Letters) -> LangM m
- matchCdOdTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => Bool -> FilePath -> MatchCdOdInstance -> LangM m
- matchingShow :: [(Int, Letters)] -> [(Int, ShowLetters)]
- takeRandomInstances :: (MonadRandom m, MonadFail m) => OdDistributionConfig -> Map [Int] [a] -> m (Maybe [([Int], a)])
Documentation
data MatchCdOdConfig Source #
Constructors
Instances
data MatchCdOdInstance Source #
Constructors
| MatchCdOdInstance | |
Instances
| Reader MatchCdOdInstance Source # | |||||
Defined in Modelling.CdOd.MatchCdOd | |||||
| ToDoc MatchCdOdInstance Source # | |||||
Defined in Modelling.CdOd.MatchCdOd | |||||
| Generic MatchCdOdInstance Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Associated Types
Methods from :: MatchCdOdInstance -> Rep MatchCdOdInstance x # to :: Rep MatchCdOdInstance x -> MatchCdOdInstance # | |||||
| Read MatchCdOdInstance Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods readsPrec :: Int -> ReadS MatchCdOdInstance # readList :: ReadS [MatchCdOdInstance] # | |||||
| Show MatchCdOdInstance Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods showsPrec :: Int -> MatchCdOdInstance -> ShowS # show :: MatchCdOdInstance -> String # showList :: [MatchCdOdInstance] -> ShowS # | |||||
| Eq MatchCdOdInstance Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods (==) :: MatchCdOdInstance -> MatchCdOdInstance -> Bool # (/=) :: MatchCdOdInstance -> MatchCdOdInstance -> Bool # | |||||
| Hashable MatchCdOdInstance Source # | |||||
Defined in Modelling.CdOd.MatchCdOd | |||||
| Randomise MatchCdOdInstance Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods randomise :: forall g (m :: Type -> Type). (RandomGen g, MonadThrow m) => MatchCdOdInstance -> RandT g m MatchCdOdInstance Source # isRandomisable :: MatchCdOdInstance -> Maybe String Source # | |||||
| RandomiseLayout MatchCdOdInstance Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods randomiseLayout :: forall g (m :: Type -> Type). (RandomGen g, MonadThrow m) => MatchCdOdInstance -> RandT g m MatchCdOdInstance Source # | |||||
| RandomiseNames MatchCdOdInstance Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods hasRandomisableNames :: MatchCdOdInstance -> Maybe String Source # randomiseNames :: forall g (m :: Type -> Type). (RandomGen g, MonadThrow m) => MatchCdOdInstance -> RandT g m MatchCdOdInstance Source # | |||||
| type Rep MatchCdOdInstance Source # | |||||
Defined in Modelling.CdOd.MatchCdOd | |||||
data MatchCdOdTaskTextElement Source #
Constructors
| GivenCds | |
| GivenOds | |
| DirectionsAdvice Bool | |
| SimplifiedInformation Bool |
Instances
| Reader MatchCdOdTaskTextElement Source # | |||||
| ToDoc MatchCdOdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods toDocPrec :: Int -> MatchCdOdTaskTextElement -> Doc toDocList :: [MatchCdOdTaskTextElement] -> Doc | |||||
| Generic MatchCdOdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Associated Types
Methods from :: MatchCdOdTaskTextElement -> Rep MatchCdOdTaskTextElement x # to :: Rep MatchCdOdTaskTextElement x -> MatchCdOdTaskTextElement # | |||||
| Read MatchCdOdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.MatchCdOd | |||||
| Show MatchCdOdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods showsPrec :: Int -> MatchCdOdTaskTextElement -> ShowS # show :: MatchCdOdTaskTextElement -> String # showList :: [MatchCdOdTaskTextElement] -> ShowS # | |||||
| Eq MatchCdOdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods (==) :: MatchCdOdTaskTextElement -> MatchCdOdTaskTextElement -> Bool # (/=) :: MatchCdOdTaskTextElement -> MatchCdOdTaskTextElement -> Bool # | |||||
| Ord MatchCdOdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods compare :: MatchCdOdTaskTextElement -> MatchCdOdTaskTextElement -> Ordering # (<) :: MatchCdOdTaskTextElement -> MatchCdOdTaskTextElement -> Bool # (<=) :: MatchCdOdTaskTextElement -> MatchCdOdTaskTextElement -> Bool # (>) :: MatchCdOdTaskTextElement -> MatchCdOdTaskTextElement -> Bool # (>=) :: MatchCdOdTaskTextElement -> MatchCdOdTaskTextElement -> Bool # max :: MatchCdOdTaskTextElement -> MatchCdOdTaskTextElement -> MatchCdOdTaskTextElement # min :: MatchCdOdTaskTextElement -> MatchCdOdTaskTextElement -> MatchCdOdTaskTextElement # | |||||
| Hashable MatchCdOdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods hashWithSalt :: Int -> MatchCdOdTaskTextElement -> Int hash :: MatchCdOdTaskTextElement -> Int | |||||
| type Rep MatchCdOdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.MatchCdOd type Rep MatchCdOdTaskTextElement = D1 ('MetaData "MatchCdOdTaskTextElement" "Modelling.CdOd.MatchCdOd" "modelling-tasks-0.0.0.1-Kn6yOCG41AR4m5mGNG4MAP" 'False) ((C1 ('MetaCons "GivenCds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GivenOds" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DirectionsAdvice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "SimplifiedInformation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) | |||||
data OdDistributionConfig Source #
Constructors
| OdDistributionConfig | |
Fields
| |
Instances
| Reader OdDistributionConfig Source # | |||||
Defined in Modelling.CdOd.MatchCdOd | |||||
| ToDoc OdDistributionConfig Source # | |||||
Defined in Modelling.CdOd.MatchCdOd | |||||
| Generic OdDistributionConfig Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Associated Types
Methods from :: OdDistributionConfig -> Rep OdDistributionConfig x # to :: Rep OdDistributionConfig x -> OdDistributionConfig # | |||||
| Read OdDistributionConfig Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods readsPrec :: Int -> ReadS OdDistributionConfig # readList :: ReadS [OdDistributionConfig] # | |||||
| Show OdDistributionConfig Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods showsPrec :: Int -> OdDistributionConfig -> ShowS # show :: OdDistributionConfig -> String # showList :: [OdDistributionConfig] -> ShowS # | |||||
| Eq OdDistributionConfig Source # | |||||
Defined in Modelling.CdOd.MatchCdOd Methods (==) :: OdDistributionConfig -> OdDistributionConfig -> Bool # (/=) :: OdDistributionConfig -> OdDistributionConfig -> Bool # | |||||
| Hashable OdDistributionConfig Source # | |||||
Defined in Modelling.CdOd.MatchCdOd | |||||
| type Rep OdDistributionConfig Source # | |||||
Defined in Modelling.CdOd.MatchCdOd type Rep OdDistributionConfig = D1 ('MetaData "OdDistributionConfig" "Modelling.CdOd.MatchCdOd" "modelling-tasks-0.0.0.1-Kn6yOCG41AR4m5mGNG4MAP" 'False) (C1 ('MetaCons "OdDistributionConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "objectDiagramCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "maxPerJustEachCd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "maxSharedBetweenBothCds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "maxNoCd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))) | |||||
defaultMatchCdOdInstance :: MatchCdOdInstance Source #
A defaultMatchCdOdInstance as generated using defaultMatchCdOdConfig.
defaultMatchCdOdTaskText :: Int -> Int -> MatchCdOdTaskText Source #
getMatchCdOdTask :: forall (m :: Type -> Type) g. (MonadCatch m, RandomGen g) => (MatchCdOdConfig -> RandT g m (Map Int Cd, Cd, Map Char ([Int], AlloyInstance))) -> MatchCdOdConfig -> RandT g m MatchCdOdInstance Source #
getODInstances :: MonadAlloy m => MatchCdOdConfig -> Cd -> Cd -> Cd -> Int -> m (Map [Int] [AlloyInstance]) Source #
matchCdOd :: (MonadAlloy m, MonadCatch m, MonadFail m) => MatchCdOdConfig -> Int -> Int -> m MatchCdOdInstance Source #
matchCdOdEvaluation :: forall (m :: Type -> Type) t. (Alternative m, Foldable t, MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => FilePath -> MatchCdOdInstance -> t (Int, Letters) -> Rated m Source #
matchCdOdSolution :: MatchCdOdInstance -> [(Int, Letters)] Source #
matchCdOdSyntax :: forall t (m :: Type -> Type). (Foldable t, OutputCapable m) => MatchCdOdInstance -> t (Int, Letters) -> LangM m Source #
matchCdOdTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => Bool -> FilePath -> MatchCdOdInstance -> LangM m Source #
takeRandomInstances :: (MonadRandom m, MonadFail m) => OdDistributionConfig -> Map [Int] [a] -> m (Maybe [([Int], a)]) Source #