Haskell 类型不清楚

守护神

我正在尝试的一个练习定义了一个函数,如下所示:

twice f x = f (f x)

当我打印两次的类型时,我看到:

Main> :t twice
twice :: (a -> a) -> a -> a

不确定我理解这里的输出。所以twice需要一个函数类型的输入(类型为a -> a)。这样对吗?如果是这样,那么如何f评估为 function ( a -> a)类型那么twice这里的返回类型是什么?

三角洲
twice    f            x  =   f (f x)
twice :: (a -> a) ->  a  ->  a

就是这样。

f是类型a -> a,x 是类型af (f x)是类型a

您应该f作为a -> a函数传递,例如* 2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章