J. *_*son 10 haskell types ghc
有什么缺点ScopedTypeVariables,如果有的话?为什么不默认开启?它会导致更糟糕的推断吗?是否存在失败的边缘情况?在GHC中实施起来要困难得多吗?
Pet*_*lák 10
这也是因为它改变了程序的语义(与其他扩展相结合).考虑
{-# LANGUAGE RankNTypes #-}
foo :: forall a . (a -> a) -> (a -> a)
foo = bar
  where
    bar :: a -> a
    bar = id
它编译得很好,但ScopedTypeVariables它甚至无法编译.
默认情况下它没有打开,因为默认情况下每个其他扩展都没有打开 - 它不是Haskell标准的一部分.
正如奥古斯特所说 - 这需要在类型检查器中使用更多逻辑,但我认为没有人认为它很麻烦.
| 归档时间: | 
 | 
| 查看次数: | 346 次 | 
| 最近记录: |