-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Simple English clause creation from arbitrary words
--
@package miniutter
@version 0.4.4.2
-- | Simple English clause creation parameterized by individual words.
module NLP.Miniutter.English
-- | Various basic and compound parts of English simple present tense
-- clauses. Many of the possible nestings do not make sense. We don't
-- care.
data Part
-- | handle for a String parameter
String :: !String -> Part
-- | handle for a Text parameter
Text :: !Text -> Part
-- | cardinal number, spelled in full up to 10
Cardinal :: !Int -> Part
-- | plural form of a phrase
Ws :: !Part -> Part
-- | plural prefixed with a cardinal, not spelled
CarWs :: !Int -> !Part -> Part
-- | plural prefixed with a cardinal, spelled
CardinalWs :: !Int -> !Part -> Part
-- | ordinal number, spelled in full up to 10
Ordinal :: !Int -> Part
-- | ordinal number, not spelled
Ord :: !Int -> Part
-- | phrase with indefinite article
AW :: !Part -> Part
-- | enumeration
WWandW :: ![Part] -> Part
-- | collection
WWxW :: !Part -> ![Part] -> Part
-- | non-premodifying possesive
Wown :: !Part -> Part
-- | attributive possesive
WownW :: !Part -> !Part -> Part
-- | no space in between
Append :: !Part -> !Part -> Part
-- | no space in between -- deprecated, use <>
(:>) :: !Part -> !Part -> Part
-- | space-separated sequence
Phrase :: ![Part] -> Part
-- | make the first letter into a capital letter
Capitalize :: !Part -> Part
-- | conjugation according to polarity, with a default person (pronouns
-- override it)
SubjectVerb :: !Person -> !Polarity -> !Part -> !Part -> Part
-- | a shorthand for Sg3rd and Yes
SubjectVerbSg :: !Part -> !Part -> Part
-- | conjugation of all verbs according to polarity, with a default person
-- (pronouns override it)
SubjectVVxV :: !Part -> !Person -> !Polarity -> !Part -> ![Part] -> Part
-- | a shorthand for "and", Sg3rd and Yes
SubjectVVandVSg :: !Part -> ![Part] -> Part
-- | Persons: singular 1st, singular 3rd and the rest.
data Person
Sg1st :: Person
Sg3rd :: Person
PlEtc :: Person
-- | Generalized polarity: affirmative, negative, interrogative.
data Polarity
Yes :: Polarity
No :: Polarity
Why :: Polarity
-- | Nouns with irregular plural form and nouns with irregular indefinite
-- article.
type Irregular = (Map Text Text, Map Text Text)
-- | Realise a complete sentence, capitalized, ending with a dot.
makeSentence :: Irregular -> [Part] -> Text
-- | Realise a phrase. The spacing between parts resembles the semantics of
-- (<+>), that is, it ignores empty words.
makePhrase :: Irregular -> [Part] -> Text
-- | Default set of words with irregular forms.
defIrregular :: Irregular
-- | An infix synonym for mappend.
--
-- Since: 4.5.0.0
(<>) :: Monoid m => m -> m -> m
-- | Separated by space unless one of them is empty (in which case just the
-- non-empty one).
(<+>) :: Text -> Text -> Text
instance Show Person
instance Eq Person
instance Ord Person
instance Generic Person
instance Show Polarity
instance Eq Polarity
instance Ord Polarity
instance Generic Polarity
instance Show Part
instance Eq Part
instance Ord Part
instance Generic Part
instance Datatype D1Person
instance Constructor C1_0Person
instance Constructor C1_1Person
instance Constructor C1_2Person
instance Datatype D1Polarity
instance Constructor C1_0Polarity
instance Constructor C1_1Polarity
instance Constructor C1_2Polarity
instance Datatype D1Part
instance Constructor C1_0Part
instance Constructor C1_1Part
instance Constructor C1_2Part
instance Constructor C1_3Part
instance Constructor C1_4Part
instance Constructor C1_5Part
instance Constructor C1_6Part
instance Constructor C1_7Part
instance Constructor C1_8Part
instance Constructor C1_9Part
instance Constructor C1_10Part
instance Constructor C1_11Part
instance Constructor C1_12Part
instance Constructor C1_13Part
instance Constructor C1_14Part
instance Constructor C1_15Part
instance Constructor C1_16Part
instance Constructor C1_17Part
instance Constructor C1_18Part
instance Constructor C1_19Part
instance Constructor C1_20Part
instance Binary Polarity
instance Binary Person
instance Monoid Part
instance IsString Part
instance Read Part
instance Binary Part