yasi-0.1.1.0: Yet another string interpolator
Safe HaskellNone
LanguageHaskell2010

Yasi

Contents

Description

Yet another string interpolator

Synopsis

Documentation

i :: QuasiQuoter Source #

The main interpolator, intended to be used with QuasiQuotes.

>>> :set -XQuasiQuotes
>>> (foo, bar) = ("yet another ", "interpolator")
>>> [i|${foo}string $bar|] :: String
"yet another string interpolator"

You can also use ${} to create a function interpolator (this "abstraction" feature is inspired by interpolate):

>>> [i|more ${}${} code|] "point" "free" :: Text
"more pointfree code"

To use show to interpolate a value:

>>> let x = 1 + 1 in [i|1 + 1 = ${show x}|] :: ByteString
"1 + 1 = 2"
>>> [i|2 + 2 = $show|] (2 + 2) :: Text
"2 + 2 = 4"

Variants

iFS :: QuasiQuoter Source #

Like i, but works with IsString.

[iFS|...|] = fromString [i|...|]
>>> :t [iFS|hi|]
[iFS|hi|] :: Data.String.IsString a => a

iS :: QuasiQuoter Source #

Like i, but with the result type fixed to String.

[iS|...|] = [i|...|] :: String
>>> :t [iS|hi|]
[iS|hi|] :: String

iT :: QuasiQuoter Source #

Like i, but with the result type fixed to Text.

[iT|...|] = [i|...|] :: Text
>>> :t [iT|hi|]
[iT|hi|] :: Text

iTL :: QuasiQuoter Source #

Like iT, but lazy.

iB :: QuasiQuoter Source #

Like i, but with the result type fixed to ByteString.

[iB|...|] = [i|...|] :: ByteString
>>> :t [iB|hi|]
[iB|hi|] :: ByteString

iBL :: QuasiQuoter Source #

Like iB, but lazy.