How do people write letters? Examine the contents
of any letter-writing handbook. People gain
proficiency in this form of discourse through
adaptation of examples (or at least there is a wide
consensus that examples are an excellent way to teach
good writing skills). LetterGen constructs letters in a
similar manner: The programmer initially separates
example letters into snippets, and provides a plan
derivation for each snippet. During an interview with
the user, LetterGen infers which snippets are relevant
to the user's stated goals and beliefs by instantiating
and adapting the stored derivations. Snippets are then
ordered into a new, complete letter. Additionally,
representing letters as a set of plan derivations has the
consequence that translated versions of a letter do not
require special treatment; the target language is treated
as just one of many goals.