パターン:算術パターンはHaskellに合法ですか?このような
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かどうか、なぜこれらのコンパイラが異なる動作をするのでしょうか?
いいえ、無効です。 –
@ДМИТРИЙМАЛИКОВ:だから、なぜ「抱擁」がそれを受け入れるのですか? – bitmask
@bitmaskは抱擁ので2006年以降のリリースを持っていない、と 'NPlusKPatterns'はHaskell2010標準で除去しました。 –