Portability | portable |
---|---|
Stability | experimental |
Maintainer | eric.kow@gmail.com |
Safe Haskell | Safe-Infered |
Simple default rules for English morphology
- commas :: Text -> [Text] -> Text
- cardinal :: Int -> Text
- ordinal :: Int -> Text
- defaultNounPlural :: Text -> Text
- defaultVerbStuff :: Text -> (Text, Text)
- indefiniteDet :: Text -> Text
- hasSibilantSuffix :: Text -> Bool
- hasSemivowelPrefix :: Text -> Bool
- hasCySuffix :: Text -> Bool
- isVowel :: Char -> Bool
- isConsonant :: Char -> Bool
Documentation
commas :: Text -> [Text] -> TextSource
No Oxford commas, alas.
commas "and" "foo bar" == "foo and bar" commas "and" "foo, bar, baz" == "foo, bar and baz"
cardinal 1 == "one" cardinal 2 == "two" cardinal 3 == "three" cardinal 4 == "4"
cardinal 1 == "first" cardinal 2 == "second" cardinal 3 == "third" cardinal 4 == "4th"
defaultNounPlural :: Text -> TextSource
Heuristics for English plural for an unknown noun
defaultNounPlural "egg" == "eggs" defaultNounPlural "patch" == "patches" defaultNounPlural "boy" == "boys" defaultNounPlural "spy" == "spies" defaultNounPlural "thesis" == "theses"
http:www.paulnoll.comBooksClear-English/English-plurals-1.html
defaultVerbStuff :: Text -> (Text, Text)Source
Heuristics for 3rd person singular and past participle for an unknown regular verb
defaultVerbStuff "walk" == ("walks", "walked") defaultVerbStuff "push" == ("pushes", "pushed") defaultVerbStuff "play" == ("plays", "played") defaultVerbStuff "cry" == ("cries", "cried")
indefiniteDet :: Text -> TextSource
indefiniteDet "dog" == "a" indefiniteDet "egg" == "an" indefiniteDet "ewe" == "a" indefiniteDet "ewok" == "an" indefiniteDet "8th" == "an"
hasSibilantSuffix :: Text -> BoolSource
Ends with a sh sound
hasSemivowelPrefix :: Text -> BoolSource
Starts with a semivowel
hasCySuffix :: Text -> BoolSource
Last two letters are a consonant and y
isConsonant :: Char -> BoolSource
Is a consonant