我已经开始学习 Haskell,并尝试用 Int 类型指定任意零阶函数的 Haskell 类型签名。据我了解,对于一阶函数,它会类似于k :: Int -> Int. 这是否意味着零阶函数的类型签名只是k :: Int,或者这样的假设是错误的吗?先感谢您!
我一直在学习 Haskell 中的柯里化,现在尝试以柯里化形式编写函数的 Haskell 类型签名,其非柯里化形式有一个 (x, y) 类型的参数对和一个 x 类型的值作为其结果。我认为正确的方法是f :: (y,x) -> x,但我不确定。这是正确的吗?如果不正确,为什么?
我正在尝试使用类型定义一个简单的 Haskell 函数(m -> n -> l) -> (m -> n) -> m -> l。我认为它需要被定义为f g h x = f g (h x),但显然这不是真的。我怎样才能纠正这个功能?