不推导 Ord 的比较

Comparison without deriving Ord

我的教授要求我们在 Haskell 中实现冒泡排序。 问题应该很简单,但是,他这样指定函数签名

bsort :: (a -> a -> Bool) -> [a] -> [a]
bsort = undefined

问题是 a 没有导出 Ord,所以我不知道如何比较 as。所以我想知道这是否可行,或者他忘记添加 (Ord a) =>?

是的,这是可行的,不,他没有忘记。这里有一个提示:

bsort (<=) = undefined