Я скопировал 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 этой строки. Это делает гораздо более вероятной фактическую ошибку в предыдущей строке. – Carl
Что такое 'return $ [| Array |] \' appE \ '' Еще проблема TH? – jmite
Эта строка * определенно * не является синтаксически действительной. Он заканчивается оператором infix, который явно является синтаксической ошибкой. – Carl