У меня есть исходный файл Haskell, который использует синтаксис Unicode:
{-# LANGUAGE UnicodeSyntax #-}
succ' :: Int → Int
succ' = succ
main :: IO ()
main = print $ succ' 1
Это анализирует и отлично работает с GHC. Кроме того, стильный-haskell и hlint (оба основаны на haskell-src-exts) могут без проблем прочитать этот файл. Однако, когда я пытаюсь самостоятельно его проанализировать, используя haskell-src-exts:
import Language.Haskell.Exts (parseModule)
main = do
x <- readFile "test.hs"
print $ parseModule x
Я получаю сообщение об ошибке:
ParseFailed (SrcLoc {srcFilename = "<unknown>.hs", srcLine = 6, srcColumn = 1}) "TypeOperators is not enabled"
Однако предоставление UnicodeSyntax явно в списке расширений или использование parseFile очень просто:
import Language.Haskell.Exts
main = do
x <- readFile "test.hs"
print $ parseModuleWithMode defaultParseMode
{ extensions = [UnicodeSyntax]
} x
parseFile "test.hs" >>= print
Любая идея, почему первый подход не удается?