miniutter-0.4.4.2: Simple English clause creation from arbitrary words

Safe HaskellSafe-Inferred
LanguageHaskell2010

NLP.Miniutter.English

Description

Simple English clause creation parameterized by individual words.

Synopsis

Documentation

data Part Source

Various basic and compound parts of English simple present tense clauses. Many of the possible nestings do not make sense. We don't care.

Constructors

String !String

handle for a String parameter

Text !Text

handle for a Text parameter

Cardinal !Int

cardinal number, spelled in full up to 10

Ws !Part

plural form of a phrase

CarWs !Int !Part

plural prefixed with a cardinal, not spelled

CardinalWs !Int !Part

plural prefixed with a cardinal, spelled

Ordinal !Int

ordinal number, spelled in full up to 10

Ord !Int

ordinal number, not spelled

AW !Part

phrase with indefinite article

WWandW ![Part]

enumeration

WWxW !Part ![Part]

collection

Wown !Part

non-premodifying possesive

WownW !Part !Part

attributive possesive

Append !Part !Part

no space in between

!Part :> !Part

no space in between -- deprecated, use <>

Phrase ![Part]

space-separated sequence

Capitalize !Part

make the first letter into a capital letter

SubjectVerb !Person !Polarity !Part !Part

conjugation according to polarity, with a default person (pronouns override it)

SubjectVerbSg !Part !Part

a shorthand for Sg3rd and Yes

SubjectVVxV !Part !Person !Polarity !Part ![Part]

conjugation of all verbs according to polarity, with a default person (pronouns override it)

SubjectVVandVSg !Part ![Part]

a shorthand for "and", Sg3rd and Yes

data Person Source

Persons: singular 1st, singular 3rd and the rest.

Constructors

Sg1st 
Sg3rd 
PlEtc 

data Polarity Source

Generalized polarity: affirmative, negative, interrogative.

Constructors

Yes 
No 
Why 

type Irregular = (Map Text Text, Map Text Text) Source

Nouns with irregular plural form and nouns with irregular indefinite article.

makeSentence :: Irregular -> [Part] -> Text Source

Realise a complete sentence, capitalized, ending with a dot.

makePhrase :: Irregular -> [Part] -> Text Source

Realise a phrase. The spacing between parts resembles the semantics of (<+>), that is, it ignores empty words.

defIrregular :: Irregular Source

Default set of words with irregular forms.

(<>) :: Monoid m => m -> m -> m infixr 6

An infix synonym for mappend.

Since: 4.5.0.0

(<+>) :: Text -> Text -> Text infixr 6

Separated by space unless one of them is empty (in which case just the non-empty one).