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支持并成功编译了您的代码