Операторы cpp, включенные в код haskell, не работают - PullRequest
0 голосов
/ 24 октября 2018

Я использую прагму {- # LANGUAGE CPP # -} в Haskell, однако операторы cpp, включенные в код haskell, не работают для меня: компилятор выдает мне следующую ошибкукогда я запускаю установку стека:

error: parse error on input '#'.

Есть предложения?

Это пример кода, который я использую с версией 8.4.3 GHC:

{-# LANGUAGE CPP #-}
  ...
  #if MIN_VERSION_base(4,9,0)
  import Data.Functor.Classes
  #endif

1 Ответ

0 голосов
/ 25 октября 2018

Оператор cpp внутри кода haskell должен быть смещен.

В моем случае, когда отступ кода на Haskell был правильным, оператор c ++ в коде Haskell должен быть с отступом.

Я просто перенес строку кода с cpp на ноль отступа.Остальная часть кода на Haskell остается прежней.

Код исправлен:

{-# LANGUAGE CPP #-}
  ...
#if MIN_VERSION_base(4,9,0)
  import Data.Functor.Classes
  ...
#endif

С уважением.

...