{-# LANGUAGE LambdaCase #-}
module Modelling.CdOd.Phrasing (
phraseChange,
phraseRelationship,
trailingCommaGerman,
) where
import qualified Modelling.CdOd.Phrasing.German as German
import qualified Modelling.CdOd.Phrasing.English as English
import Control.OutputCapable.Blocks (
ArticleToUse,
Language (English, German),
)
import Modelling.Types (
Change,
)
import Modelling.CdOd.Types (
AnyRelationship,
OmittedDefaultMultiplicities,
PhrasingKind,
)
phraseChange
:: Language
-> OmittedDefaultMultiplicities
-> ArticleToUse
-> Bool
-> Bool
-> Change (AnyRelationship String String)
-> String
phraseChange :: Language
-> OmittedDefaultMultiplicities
-> ArticleToUse
-> Bool
-> Bool
-> Change (AnyRelationship String String)
-> String
phraseChange = \case
Language
English -> OmittedDefaultMultiplicities
-> ArticleToUse
-> Bool
-> Bool
-> Change (AnyRelationship String String)
-> String
English.phraseChange
Language
German -> OmittedDefaultMultiplicities
-> ArticleToUse
-> Bool
-> Bool
-> Change (AnyRelationship String String)
-> String
German.phraseChange
phraseRelationship
:: Language
-> OmittedDefaultMultiplicities
-> ArticleToUse
-> PhrasingKind
-> Bool
-> Bool
-> AnyRelationship String String -> String
phraseRelationship :: Language
-> OmittedDefaultMultiplicities
-> ArticleToUse
-> PhrasingKind
-> Bool
-> Bool
-> AnyRelationship String String
-> String
phraseRelationship = \case
Language
English -> OmittedDefaultMultiplicities
-> ArticleToUse
-> PhrasingKind
-> Bool
-> Bool
-> AnyRelationship String String
-> String
English.phraseRelationship
Language
German -> OmittedDefaultMultiplicities
-> ArticleToUse
-> PhrasingKind
-> Bool
-> Bool
-> AnyRelationship String String
-> String
German.phraseRelationship
trailingCommaGerman :: String -> String
trailingCommaGerman :: String -> String
trailingCommaGerman = String -> String
German.trailingComma