úÎÇ” Quasiquote 2 implements multiline strings with interpolation. 5 Interpolating a value into the string is done by  $<String expression>$ 5 and interpolating anything with instance Show is  $:<Show expression>.$. Due to pretty deep limitations, the parser C is not able to properly deduce associtivity of infix operators, ( so use lots and lots of parenthesis. %Repetitive patterns can be made with # symbol:    #<var> in <list>: <interpolated string> (|<interpolated string>)# Where (|<interpolated string>&) denotes optional separator for the  elements. BMultiline indentation is handled by aligning on smallest un-empty = line after the first. Neither pattern matching nor nested # -patterns . are supported, however, see example below. Normal '\\n'& style escaping of special characters < is intentionally not supported. Please use $endline$ or $n$  style instead. As an example, let'$s plot set of vectors with gnuplot:    plotVecs :: [(String,[Double])] -> String  plotVecs vs =  [$str| ## Plot multiple vectors  plot # (n,_) in vs:  with lines lw 5 title $:n$ |, #  #0d in map snd vs:$singleVec d$$endline$e$endline$# |]  where  singleVec n = [$str|#(e,i) in zip n [1..]: $:i$ $:e$|$endline$#|]    *Gnuplotter> plotVecs [("A",[1..5]),("B",[2..6])]  # Plot multiple vectors  plot   with lines lw 5 title "A" ,   with lines lw 5 title "B"  1 1.0  2 2.0  3 3.0  4 4.0  5 5.0  e  1 2.0  2 3.0  3 4.0  4 5.0  5 6.0  e  End of the line Tab   Interpolation-0.2.4Data.String.Interpolationstrendlinetab StringBitsRepVarSVarVarStr PieceStringbaseGHC.Num-debugStr quoteExprExp psToStringE runEitherappM sbitToExpparParsenotIntakeRep escapingBreaknormingnorming'minimumD