packages feed

interpolate 0.0.1 → 0.0.2

raw patch · 3 files changed

+51/−2 lines, 3 filesdep +doctest

Dependencies added: doctest

Files

interpolate.cabal view
@@ -1,5 +1,5 @@ name:             interpolate-version:          0.0.1+version:          0.0.2 license:          MIT license-file:     LICENSE copyright:        (c) 2013 Simon Hengel@@ -51,3 +51,16 @@     , hspec >= 1.5     , QuickCheck     , quickcheck-instances++test-suite doctests+  type:+      exitcode-stdio-1.0+  ghc-options:+      -Wall -Werror+  hs-source-dirs:+      test+  main-is:+      doctests.hs+  build-depends:+      base    == 4.*+    , doctest == 0.9.*
src/Data/String/Interpolate.hs view
@@ -1,5 +1,14 @@ {-# LANGUAGE TemplateHaskell #-}-module Data.String.Interpolate (i) where+module Data.String.Interpolate (+-- * String interpolation done right+-- |+-- The examples in this module use `QuasiQuotes`.  Make sure to enable the+-- corresponding language extension.+--+-- >>> :set -XQuasiQuotes+-- >>> import Data.String.Interpolate+  i+) where  import           Language.Haskell.TH.Quote (QuasiQuoter(..)) import           Language.Haskell.Meta.Parse.Careful (parseExp)@@ -8,6 +17,27 @@ import           Data.String.Interpolate.Parse import           Data.String.Interpolate.Compat (Q, Exp, appE, reportError) +-- |+-- A `QuasiQuoter` for string interpolation.  Expression enclosed within+-- @#{...}@ are interpolated, the result has to be in the `Show` class.+--+-- It interpolates strings+--+-- >>> let name = "Marvin"+-- >>> putStrLn [i|name: #{name}|]+-- name: Marvin+--+-- or integers+--+-- >>> let age = 23+-- >>> putStrLn [i|age: #{age}|]+-- age: 23+--+-- or arbitrary Haskell expressions+--+-- >>> let profession = "\955-scientist"+-- >>> putStrLn [i|profession: #{unwords [name, "the", profession]}|]+-- profession: Marvin the λ-scientist i :: QuasiQuoter i = QuasiQuoter {     quoteExp = toExp . parseNodes
+ test/doctests.hs view
@@ -0,0 +1,6 @@+module Main where++import           Test.DocTest++main :: IO ()+main = doctest ["-isrc", "-optP-include", "-optPdist/build/autogen/cabal_macros.h", "src/Data/String/Interpolate.hs"]