2013-11-01 3 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

ТН документация гласит, что:

Обратите внимание, что сращивания не поддерживаются

Подробнее here

2

GHC ГОЛОВА (7,8-к-быть) улучшена поддержка TH и успешно компилирует код.

 Смежные вопросы

  • Нет связанных вопросов^_^