gpt4 book ai didi

haskell - 在 Haskell 中映射列表 : Non-type variable argument in constraint

转载 作者:行者123 更新时间:2023-12-02 10:36:16 31 4
gpt4 key购买 nike

let fun1  = (+3)
let fun2 = (-3)
let range = [1,2,3,3]
let a = map fun1 range
let b = map fun2 a

这给了我一个错误:

Non-type variable argument in the constraint: Num (a -> b)

Haskell 的静态特性确实让我头疼......

最佳答案

实际上,让你头疼的是语法而不是类型系统。这是因为 (-3) 实际上是数字“减三”:

fun2 :: Num a => a

所以问题是你并没有真正提供一个函数,而更多的是一个常量。

例如,您可以通过编写以下内容来解决它:

let fun2 = \x -> x-3

或者:

let fun2 = (+) (-3)

The static nature of Haskell really gives me headaches...

实际上,当用 Haskell 编写程序时,我睡得更好,因为在动态类型语言中,你经常会遇到“狼人日”:一切都出错的日子。

关于haskell - 在 Haskell 中映射列表 : Non-type variable argument in constraint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41967182/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com