haskell - haskell 代码中包含的 cpp 语句不起作用
问题描述
我在 Haskell 中使用{-# LANGUAGE CPP #-} pragma,但是,haskell 代码中包含的 cpp 语句对我不起作用:当我运行堆栈安装时,编译器给我以下错误:
error: parse error on input '#'.
有什么建议么?
这是我在 GHC 8.4.3 版中使用的代码示例:
{-# LANGUAGE CPP #-}
...
#if MIN_VERSION_base(4,9,0)
import Data.Functor.Classes
#endif
解决方案
代码 haskell 中的 cpp 语句必须不缩进。
就我而言,虽然 Haskell 代码缩进是正确的,但 Haskell 代码中的 c++ 语句必须是未缩进的。
我只是将代码行从 cpp 改为零缩进。Haskell 代码的其余部分保持不变。
代码更正:
{-# LANGUAGE CPP #-}
...
#if MIN_VERSION_base(4,9,0)
import Data.Functor.Classes
...
#endif
此致。
推荐阅读
- javascript - 开玩笑快照测试 - 忽略反应自动生成的标记
- python - Python:在大型数据框中按值选择行
- python - 如何通过 Dask 列出正在运行的进程?
- ruby-on-rails - Rails 2.3 中的自定义环境 - Fedena
- sas - 在SAS中将数值变量转换为字符
- javascript - 基于SASS中的类名计算
- android - Firebase 实例 ID,获取许多不同授权实体的令牌抛出 INVALID_SENDER
- sql-server - 将 VARBINARY 转换为 Int 或 BigInt
- python - 解析查询结果以将其插入另一个数据库
- swift - 将多个 pickerView 选定值导出为 UILabel 上的数字