-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Convert English Words to Title Case
--   
--   Capitalize all English words except articles (a, an, the),
--   coordinating conjunctions (for, and, nor, but, or, yet, so), and
--   prepositions (unless they begin or end the title). The prepositions
--   are taken from <a>Wikipedia</a>.
@package titlecase
@version 1.0.1


-- | As the name implies, this module is meant to be used only if you want
--   to get access to the internals, say, if you're unhappy with the
--   provided <a>titlecase</a> function.
module Data.Text.Titlecase.Internal
newtype Article
Article :: String -> Article
[unArticle] :: Article -> String
isArticle :: String -> Bool
articles :: [Article]
newtype Conjunction
Conjunction :: String -> Conjunction
[unConjunction] :: Conjunction -> String
conjunctions :: [Conjunction]
isConjunction :: String -> Bool
data Preposition
OneWordPreposition :: String -> Preposition
TwoWordPreposition :: String -> String -> Preposition
ThreeWordPreposition :: String -> String -> String -> Preposition
FourWordPreposition :: String -> String -> String -> String -> Preposition

-- | The words come from <a>Wikipedia</a> but without <a>subordinating
--   conjunctions</a>.
prepositions :: [Preposition]
unPreposition :: Preposition -> String
isOneWordPreposition :: String -> Bool
isTwoWordPreposition :: String -> String -> Bool
isThreeWordPreposition :: String -> String -> String -> Bool
isFourWordPreposition :: String -> String -> String -> String -> Bool
oneWordPrepositions :: [Preposition]
twoWordPrepositions :: [Preposition]
threeWordPrepositions :: [Preposition]
fourWordPrepositions :: [Preposition]

-- | Capitalize the first character of a string.
toTitle :: String -> String
(<#>) :: String -> String -> String
uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d
uncurry4 :: (a -> b -> c -> d -> e) -> (a, b, c, d) -> e
isElem :: (a -> String) -> [a] -> String -> Bool
instance GHC.Show.Show Data.Text.Titlecase.Internal.Preposition
instance GHC.Classes.Eq Data.Text.Titlecase.Internal.Preposition
instance GHC.Show.Show Data.Text.Titlecase.Internal.Conjunction
instance GHC.Classes.Eq Data.Text.Titlecase.Internal.Conjunction
instance GHC.Show.Show Data.Text.Titlecase.Internal.Article
instance GHC.Classes.Eq Data.Text.Titlecase.Internal.Article

module Data.Text.Titlecase

-- | Capitalize all English words except <a>articles</a> (a, an, the),
--   coordinating <a>conjunctions</a> (for, and, nor, but, or, yet, so),
--   and <a>prepositions</a> (unless they begin or end the title).
titlecase :: String -> String
