Copyright | (c) 2009-2014 Bryan O'Sullivan |
---|---|
License | BSD-style |
Maintainer | bos@serpentine.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | Trustworthy |
Language | Haskell98 |
Criterion.Report
Contents
Description
Reporting functions.
- formatReport :: [Report] -> Text -> IO Text
- report :: [Report] -> Criterion ()
- tidyTails :: KDE -> KDE
- data TemplateException = TemplateNotFound FilePath
- loadTemplate :: [FilePath] -> FilePath -> IO Text
- includeFile :: MonadIO m => [FilePath] -> Text -> m Text
- getTemplateDir :: IO FilePath
- vector :: (Monad m, Vector v a, MuVar a) => String -> v a -> MuType m
- vector2 :: (Monad m, Vector v a, Vector v b, MuVar a, MuVar b) => String -> String -> v a -> v b -> MuType m
Documentation
Format a series of Report
values using the given Hastache
template.
report :: [Report] -> Criterion () #
Write out a series of Report
values to a single file, if
configured to do so.
Rendering helper functions
data TemplateException #
A problem arose with a template.
Constructors
TemplateNotFound FilePath | The template could not be found. |
Load a Hastache template file.
If the name is an absolute or relative path, the search path is not used, and the name is treated as a literal path.
This function throws a TemplateException
if the template could
not be found, or an IOException
if no template could be loaded.
Arguments
:: MonadIO m | |
=> [FilePath] | Directories to search. |
-> Text | Name of the file to search for. |
-> m Text |
Attempt to include the contents of a file based on a search path.
Returns empty
if the search fails or the file could not be read.
Intended for use with Hastache's MuLambdaM
, for example:
context "include" =MuLambdaM
$includeFile
[templateDir
]
Hastache template expansion is not performed within the included
file. No attempt is made to ensure that the included file path is
safe, i.e. that it does not refer to an unexpected file such as
"etcpasswd
".
getTemplateDir :: IO FilePath #
Return the path to the template and other files used for generating reports.
Arguments
:: (Monad m, Vector v a, MuVar a) | |
=> String | Name to use when substituting. |
-> v a | |
-> MuType m |
Render the elements of a vector.
For example, given this piece of Haskell:
mkStrContext
$ \name -> case name of "foo" ->vector
"x" foo
It will substitute each value in the vector for x
in the
following Hastache template:
{{#foo}} {{x}} {{/foo}}