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


-- | Support for deriving PathInfo using Template Haskell
--   
--   web-routes is a portable library for type-safe URLs. This module adds
--   support for creating the URL parsers/printers automatically using
--   Template Haskell.
@package web-routes-th
@version 0.22.8.1

module Web.Routes.TH

-- | use Template Haskell to create <a>PathInfo</a> instances for a type.
--   
--   <pre>
--   $(derivePathInfo ''SiteURL)
--   </pre>
--   
--   Uses the <a>standard</a> formatter by default.
derivePathInfo :: Name -> Q [Dec]

-- | use Template Haskell to create <a>PathInfo</a> instances for a type.
--   
--   This variant allows the user to supply a function that transforms the
--   constructor name to a prettier rendering. It is important that the
--   transformation function generates a unique output for each input. For
--   example, simply converting the string to all lower case is not
--   acceptable, because then <tt>FooBar</tt> and <tt>Foobar</tt> would be
--   indistinguishable.
--   
--   <pre>
--   $(derivePathInfo' standard ''SiteURL)
--   </pre>
--   
--   see also: <a>standard</a>
derivePathInfo' :: (String -> String) -> Name -> Q [Dec]

-- | the standard formatter
--   
--   Converts <tt>CamelCase</tt> to <tt>camel-case</tt>.
--   
--   see also: <a>derivePathInfo</a> and <a>derivePathInfo'</a>
standard :: String -> String
mkRoute :: Name -> Q [Dec]
