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 = 23putStrLn [i|age: #{age}|]age: 23
or arbitrary Haskell expressions
let profession = "\955-scientist"putStrLn [i|profession: #{unwords [name, "the", profession]}|]profession: Marvin the λ-scientist