Skip to content

mtesseract/th-format

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

th-format Hackage version Stackage version Build Status

About

This is th-format, a Haskell package implementing support for format strings using Template Haskell quasi quoters. It requires the GHC extension QuasiQuotes to be enabled. Parsing is implemented using Earley.

This package is BSD3 licensed.

Examples

Using th-format, you can use naive variable interpolation instead of verbosely concatenating strings manually. Thus, instead of

putStrLn $ "Client \"" ++ show client ++ "\" has requested resource \"" ++ show resource ++ "\" at date " ++ show date ++ "."

one can directly write:

putStrLn $ [fmt|Client "$client" has requested resource "$resource" at date $date|]

There are currently two supported ways of interpolation:

  1. Simple interpolation, as in [fmt|Variable foo contains $foo|].
  2. Expression interpolation, as in [fmt|The toggle is ${if toggle then ("on" :: Text) else "off"}|]

About

Template Haskell based support for format strings

Resources

License

Stars

Watchers

Forks

Packages

No packages published