模式是這樣的:算術模式是合法的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年以來還沒有發佈,並且在Haskell2010標準中刪除了'NPlusKPatterns'。 –