rho x = map (((flip mod) x).(\a -> a^2-1)) (rho x)
这个函数会产生一个无限列表。我在GHCI测试,功能类型是为什么Haskell能演绎[]在这个函数中输入
*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
我的问题是,如何才能哈斯克尔演绎函数类型为b - > [b]?我们在这个函数中没有任何[]类型的数据。谢谢!