stringbuilder-0.4.0: A writer monad for multi-line string literals

Safe HaskellSafe-Inferred

Data.String.Builder

Contents

Description

The build function can be used to construct multi-line string literals in a monadic way:

 {-# LANGUAGE OverloadedStrings #-}

 import Data.String.Builder

 mystring :: String
 mystring = build $ do
   "foo"
   "bar"
   "baz"

Synopsis

Functions

build :: Builder -> StringSource

Run a builder.

literal :: String -> BuilderSource

Add a literal string.

Types

data BuilderM a Source

A writer monad for string literals.

Instances

Monad BuilderM 
~ * a () => IsString (BuilderM a)