Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

About

build can be used to construct multi-line string literals in a monadic way.

{-# LANGUAGE OverloadedStrings #-}
import Data.String.Builder

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

This is primarily meant for test suites that use a lot of multi-line string literals, and when it really matters that the syntax is as easy on the eyes as it can get.

If you need just a few multi-line string literals in production code consider one of the following options first.

Haskell's support for multi-line string literals

help = "some\n\
       \multi-line\n\
       \help\n\
       \message\n"

Using unlines to construct multi-line string literals

help = unlines [
    "some"
  , "multi-line"
  , "help"
  , "message"
  ]

About

A writer monad for multi-line string literals

Resources

License

Packages

No packages published