2014-01-07 1 views
1

Я скопировал Aeson Template-Haskell module в мой проект, и я пытаюсь его скомпилировать. Тем не менее, когда я компилирую, я получаю следующее сообщение об ошибке:Ошибка синтаксического анализа при использовании одной кавычки «Соглашение о назначении в шаблоне Haskell

compiler/Elm/Haskelm/Json.hs:283:1: 
parse error (possibly incorrect indentation or mismatched brackets) 

Эта линия использует 'Name соглашение от Template-Haskell, так что я думаю, что это, вероятно, рассматривая его в качестве одной кавычки вместо обозначения Template-Haskell.

Зачем это делается? В начале моего файла, у меня есть:

{-# LANGUAGE CPP, FlexibleInstances, IncoherentInstances, NamedFieldPuns, 
NoImplicitPrelude, OverlappingInstances, TemplateHaskell, 
UndecidableInstances #-} 

и в моем файле Кабал, у меня есть

extensions: TemplateHaskell 
      MultiWayIf 

, но это не лечение одинарные кавычки специально.

Обратите внимание, что, кроме изменения имени модуля, файл, который я пытаюсь скомпилировать, полностью не изменяется из связанного с ним github.

+1

Сообщается, что ошибка указана в столбце 1 этой строки. Это делает гораздо более вероятной фактическую ошибку в предыдущей строке. – Carl

+0

Что такое 'return $ [| Array |] \' appE \ '' Еще проблема TH? – jmite

+1

Эта строка * определенно * не является синтаксически действительной. Он заканчивается оператором infix, который явно является синтаксической ошибкой. – Carl

ответ

2

Это сообщение об ошибке утверждает, что проблема находится в столбце 1. Это означает, что предыдущая строка была, вероятно, местом реальной проблемы. Ваше примечание в комментариях указывает на то, что предыдущая строка была неполной, и строка, указанная в сообщении об ошибке, должна была быть отступом дальше, чтобы сделать ее продолжением предыдущей строки.

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

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