gpt4 book ai didi

haskell - Haskell 算术模式合法吗?

转载 作者:行者123 更新时间:2023-12-01 22:10:24 24 4
gpt4 key购买 nike

像这样的模式:

front :: [a] -> a
front (x:_) = x
front _ = error "Empty list"

在 Haskell 中似乎很常见,但我清楚地记得当我开始学习 Haskell 时学习了以下内容:

dec :: (Integral a) => a -> a
dec (x+1) = x
dec _ = error "Bottom"

但是,ghc 似乎拒绝了这段代码,并指出:

Parse error in pattern: x + 1

虽然hugs接受它就好了。那么,这是否有效 Haskell 以及为什么这些编译器的行为不同。

最佳答案

这就是所谓的n+k 模式。这是disliked一般来说,它已从 Haskell2010 规范中删除,并且 GHC 不再默认启用它,这与 Hugs 不同,Hugs 尚未更新到最新规范。它应该使用 GHCI 进行编译,并启用 -XNPlusKPatterns 标志。

参见this了解更多详情。

关于haskell - Haskell 算术模式合法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12413685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com