 | darcs-2.4: a distributed, interactive, smart revision control system | Contents | Index |
|
|
|
Description |
This modules provides rudimentary natural language generation
(NLG) utilities. That is, generating natural language from a
machine representation. Initially, only English is supported at
all. Representations are implemented for:
- countable nouns (plurality); and
* lists of clauses (foo, bar and/or baz).
|
|
Synopsis |
|
|
|
Documentation |
|
englishNum :: Countable n => Int -> n -> ShowS |
englishNum 0 (Noun "watch") "" == "watches"
englishNum 1 (Noun "watch") "" == "watch"
englishNum 2 (Noun "watch") "" == "watches"
|
|
class Countable a where |
Things that have a plural and singular spelling
| | Methods | | | Instances | |
|
|
newtype Noun |
This only distinguishes between nouns with a final -ch,
and nouns which do not.
More irregular nouns will just need to have their own type
plural (Noun "batch") "" == "batches"
plural (Noun "bat") "" == "bats"
plural (Noun "mouse") "" == "mouses" -- :-(
| Constructors | | Instances | |
|
|
data This |
singular This (Noun "batch") "" == "this batch"
plural This (Noun "batch") "" == "these batches"
| Constructors | | Instances | |
|
|
orClauses :: [String] -> String |
Given a list of things, combine them thusly:
orClauses ["foo", "bar", "baz"] == "foo, bar or baz"
|
|
andClauses :: [String] -> String |
|
intersperseLast :: String -> String -> [String] -> String |
As intersperse, with a different separator for the last
| interspersal.
|
|
Produced by Haddock version 2.6.0 |