String formatting in Haskell

You could use the format function provided by the text-format-simple package:

import Text.Format
format "{0} {1}" [show 10, show 20]

This function has the signature:

format :: String -> [String] -> String

So all you need is provide your parameters as strings.
Another example:

format "Some {0} believes that 1 + 1 = {1}." ["people",show 10]

Putting answer here in case somebody searching for formatting libraries in Haskell on StackOverflow. There's type-safe and fast formatting library called fmt now. With it you can write code like this:

> "There are "+|n|+" million bicycles in "+|city|+"."

There is a Printf module in GHC.

import Text.Printf
str :: String
str = printf "%d %d" 10 20

however it is probably simpler to just do

str = show 10 ++ " " ++ show 20

Tags:

String

Haskell