小编csj*_*csj的帖子

Haskell中的函数类型推断

我在为Haskell做练习问题,问题之一是

test3 x y = x (x y)
Run Code Online (Sandbox Code Playgroud)

为此,我必须找到类型。

解决方法是

test3 :: (a -> a) -> a -> a
Run Code Online (Sandbox Code Playgroud)

我不明白为什么解决方案中的变量都是a,而不是将x和y称为两个不同的变量,例如a和b。有人可以解释一下,还可以找到如何找到此问题的类型。

haskell

6
推荐指数
1
解决办法
164
查看次数

Haskell让表达式评估

我正在练习评估let表达式的练习问题,但我不理解该表达式的输出。

这是表达式:

let a = 2
    b = 1:[i * 2 | i <- b]
    f a = 1:[i * a | i <- (f a)]
in take (a+2) (f (head (tail b) ))
Run Code Online (Sandbox Code Playgroud)

输出应该是[1,2,4,8]。有人可以一步一步解释为什么这是输出

evaluation haskell expression stream let

2
推荐指数
1
解决办法
123
查看次数

标签 统计

haskell ×2

evaluation ×1

expression ×1

let ×1

stream ×1