【发布时间】:2012-03-29 05:18:41
【问题描述】:
rho x = map (((flip mod) x).(\a -> a^2-1)) (rho x)
此函数将生成一个无限列表。而且我在GHCi中测试过,函数类型是
*Main> :t rho
rho :: Integral b => b -> [b]
如果我定义这样的函数
fun x = ((flip mod) x).(\a -> a^2-1)
类型是
*Main> :t fun
fun :: Integral c => c -> c -> c
我的问题是,Haskell 如何将函数类型推断为 b -> [b]?我们在这个函数中没有任何 [] 类型的数据。谢谢!
【问题讨论】: