Louis indicated that we should consider modeling and approaches encompassing the features of all languages [1].

 

Factors that affect verb conjugation are numerous and we can envision a verb conjugation function which gathers these factors together from across languages, a function resembling:

 

conjugate(language, stem, person, number, gender, tense, aspect, mood, voice, formality, clusivity, transitivity, valency, evidentiality)

 

The following example utilizes a Context parameter as we haven’t yet discussed global variables. The following example uses a “::” syntax for enums. The following example shows that, with multilingual conjugation and declension functions, we could encapsulate multilingual conjugation and declension in language-specific convenience functions, perhaps resembling:

 

kick<T>(Context context, Noun agent, Noun patient)

{

  join(" ", [

    agent,

    context.conjugate("en-US", "kick", person::second, agent.number, agent.gender, T, aspect::perfective, mood::indicative, voice::active, context.formality, clusivity::no, transitivity::transitive, valency::transitive, context.evidentiality),

    "the",

    patient

  ])

}

 

and, as expected:

 

kick<tense::past>(context, Bobby, ball) would produce: “Bobby kicked the ball”.

 

It appears that there are a multitude of ways to approach implementing NLG-related Wikilambda functions. Conjugation and declension functions could be components of some approaches.

 

What do you think about conjugation and declension functions?

 

 

Best regards,

Adam

 

[1] https://wals.info/