2013-11-01 21 views
1

我試圖使用expression quotation, 寫一個聲明,無論我嘗試編譯器上的模板與下面這樣的消息:如何在表達式引用中編寫模式拼接?

Parse error in pattern: $pattern 

下面是一個例子:

{-# LANGUAGE TemplateHaskell, QuasiQuotes #-} 
import Language.Haskell.TH 

data A = A Int Int 

decl :: DecsQ 
decl = [d| 
    instance Show A where 
     show $pattern = undefined 
    |] 
    where 
    pattern = conP (mkName "A") $ map varP $ map mkName $ ["a", "b"] 

回答

4

的TH文件說:

注意圖案拼接不支持

更多細節here

2

GHC HEAD(7.8將要)提高了TH支持,併成功編譯代碼。