Haskell 如何在表达式引用中编写模式拼接?

Haskell 如何在表达式引用中编写模式拼接?,haskell,template-haskell,Haskell,Template Haskell,我想用, 无论我尝试什么,编译器都会在模式上失败,并显示如下消息: 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 = undefi

我想用, 无论我尝试什么,编译器都会在模式上失败,并显示如下消息:

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"]

TH文件规定:

请注意,不支持阵列拼接


更多详细信息

TH文件说明:

请注意,不支持阵列拼接

更多详细信息

GHC HEAD(7.8-to-be)改进了TH支持并成功编译了您的代码。

GHC HEAD(7.8-to-be)改进了TH支持并成功编译了您的代码