我试图使用http://www.haskell.org/ghc/docs/latest/html/users_guide/template-haskell.html编写一个声明,无论我尝试什么,编译器都会在模式上失败,下面的消息如下所示:
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"]发布于 2013-11-01 16:09:22
TH文件说:
请注意,不支持模式拼接。
更多细节这里
发布于 2013-11-01 17:12:03
GHC HEAD (7.8未来)改进了TH支持,并成功地编译了您的代码。
https://stackoverflow.com/questions/19728074
复制相似问题