【问题标题】:GHC type inference for higher rank types - assigning to monotypes更高等级类型的 GHC 类型推断 - 分配给单型
【发布时间】:2012-05-03 02:38:00
【问题描述】:

我之前问过这个question,经过大量调查后我得出结论,GHC 仅适用于中缀$.

对于这个问题,我假设 GHC 遵循RankNTypes - Haskell Prime 页面上提到的系统,在arbitary-rank 中进一步详细说明。

RankNTypes - Haskell Prime 页面声明如下:

分配没有显式签名的参数变量 向上推理中的单型,但可以继承任意等级的类型 在向下检查中。

我假设“分配的单型”是指将 rank-N 类型转换为 rank-1 类型,方法是将它们的所有限定符移到最外层。

我也相信这是导致我问上一个问题的异常类型错误的原因。

所以我有几个问题:

1) 无论如何让 GHC 在隐式转换为单型时发出警告(或错误)?我之前的question 中的类型错误需要一段时间才能解决,转换为单一类型的警告会比类型错误更有帮助。
2)在某些情况下,隐含的“分配给单型”是明智的行为,如果是,您能举个例子吗?
3)关于中缀$.,这些在GHC中似乎有特殊规定。这是在哪里记录的? GHC 还有其他特殊规则吗?它们记录在哪里?

【问题讨论】:

  • This 可能感兴趣。
  • 至于第 3 点,我怀疑它们仅记录在 GHC 源中。无论如何,我不知道有任何文件。您可以尝试在 ghc-users 列表中询问权威答案。

标签: haskell types polymorphism


【解决方案1】:

http://hackage.haskell.org/trac/ghc/ticket/5596 与此处相关 - 我认为没有任何官方文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多