有没有办法比较Haskell中的两个函数?
我的想法是答案是否定的,因为函数不会派生Eq类型.但是我正在尝试编写一个非常简单的函数,这似乎是一件正常的事情:
search :: ((Enum a) => a -> a) -> Card -> [Card]
search op x list = if (op == succ && rank x == King) ||
(op == pred && rank x == Ace)
then []
else let c = [ n | n <- list, rank n == op (rank x)]
in if length c == 1
then x : search op (head c) list
else []
Run Code Online (Sandbox Code Playgroud)
错误信息:
No instance for (Eq (Rank -> Rank))
arising …Run Code Online (Sandbox Code Playgroud) haskell ×1