Haskell 在lambda函数中使用reverse

Haskell 在lambda函数中使用reverse,haskell,Haskell,我是Haskell的新手,遇到了这个问题。我正在使用 gio=\x->x==reverse(x)返回的错误为错误C:\Users\Gbaramidze\Desktop\gio.hs:18-未解决的顶级重载无法找出原因。希望你能帮忙 p.S.: 我按照你的指示提供了一个签名,但没有用。我有一个错误: - Cannot justify constraints in explicitly typed binding *** Expression : gio *** Type :

我是Haskell的新手,遇到了这个问题。我正在使用
gio=\x->x==reverse(x)
返回的错误为
错误C:\Users\Gbaramidze\Desktop\gio.hs:18-未解决的顶级重载
无法找出原因。希望你能帮忙

p.S.: 我按照你的指示提供了一个签名,但没有用。我有一个错误:

- Cannot justify constraints in explicitly typed binding
*** Expression    : gio
*** Type          : [a] -> Bool
*** Given context : ()
*** Constraints   : Eq a   

我使用拥抱,因为这是我们在大学里使用的工具。我使用的代码在上面,我将其保存在一个.hs文件中,并使用Hugs打开它。

因为您使用的是
(==)
,所以必须将该函数约束为仅在支持此操作的类型上工作。正确的类型签名如下所示:

gio :: Eq a => [a] -> Bool
gio = \x -> x == reverse x

由于您使用的是
(==)
,因此必须将该函数约束为仅在支持此操作的类型上工作。正确的类型签名如下所示:

gio :: Eq a => [a] -> Bool
gio = \x -> x == reverse x

既然你是Haskell的新手,你能不能说错话?如果您提供了一个最小的示例并将其代码发布在这里,这将非常有用。。。可能吧。添加一个类型签名
gif::[a]>Bool
。另外,除非你有很好的理由,否则不要拥抱。它已经有一段时间不受支持了。GHC是Haskell.Ack的当前go-to编译器。我的编辑窗口已关闭,但您当然需要
Eq a
约束<代码>gif::Eq a=>[a]->Bool既然你是Haskell的新手,你可能会误述这个问题吗?如果您提供了一个最小的示例并将其代码发布在这里,这将非常有用。。。可能吧。添加一个类型签名
gif::[a]>Bool
。另外,除非你有很好的理由,否则不要拥抱。它已经有一段时间不受支持了。GHC是Haskell.Ack的当前go-to编译器。我的编辑窗口已关闭,但您当然需要
Eq a
约束<代码>gif::Eq a=>[a]->Bool