Haskell-Interpolation-Library
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Library for string interpolation and generation
Multiline strings and interpolation
-----------------------------------

Quasiquote 'str' implements multiline strings with interpolation.
Interpolating a value into the string is done by 
$$
and interpolating anything with instance Show is 
$:$. Due to pretty deep limitations, the parser
is not able to properly deduce associtivity of infix operators,
so use lots and lots of parenthesis.

Repetitive patterns can be made with # symbol: 

    # in :  (|)#
 
Where (|) denotes optional separator for the 
elements.

Multiline 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$ |, #
                #d 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

Change log
----------

 * 0.2.5.1 - Compiles with GHC 7.0.1
 * 0.2.5.2 - Compiles with GHC 6.12


本源码包内暂不包含可直接显示的源代码文件,请下载源码包。