【问题标题】:Inconsistent behaviour while using "foreign" as a variable / binding name使用“外来”作为变量/绑定名称时的行为不一致
【发布时间】:2018-12-15 21:27:07
【问题描述】:

我正在尝试从源代码编译 Elm 编译器,但遇到了一个奇怪的问题。我已经成功地通过stack build 构建了它。但是,当我尝试stack ghci 时,它在许多将foreign 用作变量/绑定名称的地方都失败了。例如:

/Users/saurabhnanda/projects/compiler/builder/src/File/Compile.hs:142:50: error:
    parse error on input ‘foreign’
    |
142 | makeImports project (Plan.Info _ _ _ clean dirty foreign) =
    |                                                  ^^^^^^^
Failed, 141 modules loaded.

看来foreign确实是reserved keyword。什么解释了这种行为,即在 stack build 中工作但在 stack ghci 中抛出解析错误?

【问题讨论】:

  • 也许 ffi / foreignfunctioninterface 扩展名是由stack ghci设置的
  • 您使用的是什么版本的 GHC? 8.4/8.6 根本不允许我有名为 foreign 的变量。
  • @Alec 8.4.3 我上次检查时。

标签: haskell elm


【解决方案1】:

foreign 在 Elm 源代码中不再使用,请参阅https://github.com/elm/compiler/pull/1961

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    相关资源
    最近更新 更多