我想寫一個Haskell函數來檢查,如果一個整數列表是爲了在不使用任何一個已經存在的功能,訂購或檢查列表的順序列表。我寫了下面的代碼,但我不明白爲什麼它不起作用。我得到的錯誤:哈斯克爾定製isordered功能檢查整數
No instance for (Ord integer)
arising from a use of `<='
In the expression: x <= (head xs)
我不明白這是什麼意思。我應該寫這個函數有不同的方式嗎?這是我的代碼到目前爲止。
isordered :: [integer] -> Bool
isordered [] = True
isordered (x:[]) = True
isordered (x:xs)|x <= (head xs) = isordered xs
|otherwise = False
在此先感謝!
它應該是'Integer',不'integer'。 – 2012-04-01 11:49:13