Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Modelling.CdOd.NameCdError
Synopsis
- data NameCdErrorAnswer = NameCdErrorAnswer {}
- data NameCdErrorConfig = NameCdErrorConfig {
- allowedProperties :: AllowedProperties
- articleToUse :: ArticlePreference
- cdConstraints :: !CdConstraints
- classConfig :: ClassConfig
- drawSettings :: !CdDrawSettings
- maxInstances :: Maybe Integer
- objectProperties :: ObjectProperties
- possibleReasons :: [Reason]
- printSolution :: Bool
- reasonsPerInstance :: NumberOfReasons
- timeout :: Maybe Int
- useNames :: Bool
- extraText :: Maybe (Map Language String)
- data NameCdErrorInstance = NameCdErrorInstance {
- byName :: !Bool
- classDiagram :: AnnotatedCd Relevance
- cdDrawSettings :: !CdDrawSettings
- errorReasons :: !(Map Char (Bool, Reason))
- showSolution :: Bool
- taskText :: !NameCdErrorTaskText
- addText :: Maybe (Map Language String)
- type NameCdErrorTaskText = [SpecialOutput NameCdErrorTaskTextElement]
- data NameCdErrorTaskTextElement
- data NumberOfReasons = NumberOfReasons {}
- data Reason
- = Custom (Map Language String)
- | PreDefined Property
- data Relevance
- = NotRelevant
- | Relevant {
- contributingToProblem :: Bool
- listingPriority :: Int
- referenceUsing :: ArticleToUse
- checkNameCdErrorConfig :: NameCdErrorConfig -> Maybe String
- checkNameCdErrorInstance :: NameCdErrorInstance -> Maybe String
- classAndNonInheritanceNames :: NameCdErrorInstance -> ([String], [String])
- defaultNameCdErrorAnswer :: NameCdErrorAnswer
- defaultNameCdErrorConfig :: NameCdErrorConfig
- defaultNameCdErrorInstance :: NameCdErrorInstance
- isRelevant :: Annotation Relevance annotated -> Bool
- nameCdErrorEvaluation :: (Alternative m, MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => FilePath -> NameCdErrorInstance -> NameCdErrorAnswer -> Rated m
- nameCdErrorGenerate :: (MonadAlloy m, MonadCatch m) => NameCdErrorConfig -> Int -> Int -> m NameCdErrorInstance
- nameCdErrorSolution :: NameCdErrorInstance -> NameCdErrorAnswer
- nameCdErrorSyntax :: OutputCapable m => NameCdErrorInstance -> NameCdErrorAnswer -> LangM m
- nameCdErrorTask :: (MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => FilePath -> NameCdErrorInstance -> LangM m
- parseNameCdErrorAnswer :: Parser NameCdErrorAnswer
- renameInstance :: MonadThrow m => NameCdErrorInstance -> [String] -> [String] -> m NameCdErrorInstance
- showNameCdErrorAnswer :: NameCdErrorAnswer -> String
Documentation
data NameCdErrorAnswer Source #
Constructors
NameCdErrorAnswer | |
Instances
data NameCdErrorConfig Source #
Constructors
NameCdErrorConfig | |
Fields
|
Instances
data NameCdErrorInstance Source #
Constructors
NameCdErrorInstance | |
Fields
|
Instances
type NameCdErrorTaskText = [SpecialOutput NameCdErrorTaskTextElement] Source #
data NameCdErrorTaskTextElement Source #
Constructors
IncorrectCd | |
ReasonsList | |
RelationshipsList |
Instances
data NumberOfReasons Source #
Constructors
NumberOfReasons | |
Fields
|
Instances
Constructors
Custom (Map Language String) | |
PreDefined Property |
Instances
Data Reason Source # | |
Defined in Modelling.CdOd.NameCdError Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Reason -> c Reason # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Reason # toConstr :: Reason -> Constr # dataTypeOf :: Reason -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Reason) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Reason) # gmapT :: (forall b. Data b => b -> b) -> Reason -> Reason # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Reason -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Reason -> r # gmapQ :: (forall d. Data d => d -> u) -> Reason -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Reason -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Reason -> m Reason # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Reason -> m Reason # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Reason -> m Reason # | |
Generic Reason Source # | |
Read Reason Source # | |
Show Reason Source # | |
Eq Reason Source # | |
Ord Reason Source # | |
type Rep Reason Source # | |
Defined in Modelling.CdOd.NameCdError type Rep Reason = D1 ('MetaData "Reason" "Modelling.CdOd.NameCdError" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "Custom" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Language String))) :+: C1 ('MetaCons "PreDefined" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Property))) |
Constructors
NotRelevant | |
Relevant | |
Fields
|
Instances
Data Relevance Source # | |
Defined in Modelling.CdOd.NameCdError Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Relevance -> c Relevance # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Relevance # toConstr :: Relevance -> Constr # dataTypeOf :: Relevance -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Relevance) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Relevance) # gmapT :: (forall b. Data b => b -> b) -> Relevance -> Relevance # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Relevance -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Relevance -> r # gmapQ :: (forall d. Data d => d -> u) -> Relevance -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Relevance -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Relevance -> m Relevance # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Relevance -> m Relevance # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Relevance -> m Relevance # | |
Generic Relevance Source # | |
Read Relevance Source # | |
Show Relevance Source # | |
Eq Relevance Source # | |
type Rep Relevance Source # | |
Defined in Modelling.CdOd.NameCdError type Rep Relevance = D1 ('MetaData "Relevance" "Modelling.CdOd.NameCdError" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "NotRelevant" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Relevant" 'PrefixI 'True) (S1 ('MetaSel ('Just "contributingToProblem") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "listingPriority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "referenceUsing") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArticleToUse)))) |
classAndNonInheritanceNames :: NameCdErrorInstance -> ([String], [String]) Source #
isRelevant :: Annotation Relevance annotated -> Bool Source #
nameCdErrorEvaluation :: (Alternative m, MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => FilePath -> NameCdErrorInstance -> NameCdErrorAnswer -> Rated m Source #
Grading is done the following way:
- 0 points if the reason is wrong
- otherwise, multiple choice grading for answer on dueTo relationships
nameCdErrorGenerate :: (MonadAlloy m, MonadCatch m) => NameCdErrorConfig -> Int -> Int -> m NameCdErrorInstance Source #
nameCdErrorSyntax :: OutputCapable m => NameCdErrorInstance -> NameCdErrorAnswer -> LangM m Source #
nameCdErrorTask :: (MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => FilePath -> NameCdErrorInstance -> LangM m Source #
renameInstance :: MonadThrow m => NameCdErrorInstance -> [String] -> [String] -> m NameCdErrorInstance Source #