让sortBy在haskell中比较第一个元素

让sortBy在haskell中比较第一个元素,haskell,Haskell,大家好,我有一个非常难看的列表,看起来像[(Int,(String,Char))…],我想使用Haskell中的排序功能来按Int排序 到目前为止,我有,a是列表 sorted = sortBy(comparing fst) a 但这会给出一条很好的“比较”不在范围内的错误消息。 有什么方法可以满足我的要求吗?如评论中所述,比较由Data.Ord导出,因此: import Data.List (sortBy) import Data.Ord (comparing) a = [(2,"foo"

大家好,我有一个非常难看的列表,看起来像
[(Int,(String,Char))…]
,我想使用Haskell中的
排序功能来按
Int
排序

到目前为止,我有,
a
是列表

sorted = sortBy(comparing fst) a
但这会给出一条很好的“比较”不在范围内的错误消息。
有什么方法可以满足我的要求吗?

如评论中所述,
比较
Data.Ord
导出,因此:

import Data.List (sortBy)
import Data.Ord (comparing)

a = [(2,"foo"),(1,"bar")]

main = print $ sortBy (comparing fst) a

如注释中所述,
比较
Data.Ord
导出,因此:

import Data.List (sortBy)
import Data.Ord (comparing)

a = [(2,"foo"),(1,"bar")]

main = print $ sortBy (comparing fst) a

导入数据.Ord(比较)
添加到导入列表中。
比较
数据.Ord
模块的一部分,不作为前奏部分导入。您应该
import Data.Ord
。如果您熟悉“good old”不在范围内的错误消息,那么您也应该熟悉通过导入内容来修复它们。您可以使用了解要导入的模块。添加
import Data.Ord(比较)
到您的导入列表。
比较
Data.Ord
模块的一部分,它不是作为序言的一部分导入的。您应该
导入数据.Ord
。如果您熟悉“good old”不在范围内的错误消息,那么您还应该熟悉通过导入内容来修复这些消息。您可以使用来了解要导入的模块。