{-# LANGUAGE LambdaCase #-}
module Modelling.CdOd.Phrasing (
phraseChange,
phraseRelationship,
trailingCommaGerman,
numberWords,
) where
import qualified Modelling.CdOd.Phrasing.German as German
import qualified Modelling.CdOd.Phrasing.English as English
import Data.Map (Map)
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
numberWords :: Language -> Map Int String
numberWords :: Language -> Map Int String
numberWords = \case
Language
English -> Map Int String
English.numberWords
Language
German -> Map Int String
German.numberWords
trailingCommaGerman :: String -> String
trailingCommaGerman :: String -> String
trailingCommaGerman = String -> String
German.trailingComma