精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-02-14
这个我就不懂了。应该是开销不大吧?
|
|
返回顶楼 | |
发表时间:2007-02-15
不支持也没什么,Ruby也没有,Java spec也不要求。尾递归就是个loop, 直接写loop好了。FP不鼓励写loop那是另外一回事。
|
|
返回顶楼 | |
发表时间:2007-02-26
cookoo 写道 不支持也没什么,Ruby也没有,Java spec也不要求。尾递归就是个loop, 直接写loop好了。FP不鼓励写loop那是另外一回事。
哦,原来这样,为什么不鼓励写loop呢,还有就是python中的异常开销是不是不大? |
|
返回顶楼 | |
发表时间:2007-03-02
Arbow 写道 我说python的异常处理是不是开销不大?Java里面可不敢这样搞
呵呵,python in nutshell 有这么一句 引用 In Python, exceptions are considered appropriate whenever they make a program simpler and more robust, even if that means that exceptions are raised rather frequently |
|
返回顶楼 | |
发表时间:2007-06-11
simohayha 写道 cookoo 写道 不支持也没什么,Ruby也没有,Java spec也不要求。尾递归就是个loop, 直接写loop好了。FP不鼓励写loop那是另外一回事。
哦,原来这样,为什么不鼓励写loop呢,还有就是python中的异常开销是不是不大? 因为传统上循环总需要个计数器,也就是side effect拉。所以FP鼓励用递归或list comprehension,有点洁癖之嫌吧? |
|
返回顶楼 | |
发表时间:2007-06-11
cookoo 写道 simohayha 写道 cookoo 写道 不支持也没什么,Ruby也没有,Java spec也不要求。尾递归就是个loop, 直接写loop好了。FP不鼓励写loop那是另外一回事。
哦,原来这样,为什么不鼓励写loop呢,还有就是python中的异常开销是不是不大? 因为传统上循环总需要个计数器,也就是side effect拉。所以FP鼓励用递归或list comprehension,有点洁癖之嫌吧? |
|
返回顶楼 | |
发表时间:2007-06-11
cookoo 写道 simohayha 写道 cookoo 写道 不支持也没什么,Ruby也没有,Java spec也不要求。尾递归就是个loop, 直接写loop好了。FP不鼓励写loop那是另外一回事。
哦,原来这样,为什么不鼓励写loop呢,还有就是python中的异常开销是不是不大? 因为传统上循环总需要个计数器,也就是side effect拉。所以FP鼓励用递归或list comprehension,有点洁癖之嫌吧? 至少有一个最新的理由: 函数式的列表操作(map/reduce/filter)是可以拆分的 比如reduce,你可以把一个大列表分成几个小列表,分别对它们做reduce,得到的结果放进同一个列表再做reduce,效果是一样的 map,更是如此 filter,同样 所以你就可以把“分解成小列表的操作”放在几个核上运行 这样就可以充分利用多核的计算能力 |
|
返回顶楼 | |
发表时间:2007-06-12
gigix 写道 cookoo 写道 simohayha 写道 cookoo 写道 不支持也没什么,Ruby也没有,Java spec也不要求。尾递归就是个loop, 直接写loop好了。FP不鼓励写loop那是另外一回事。
哦,原来这样,为什么不鼓励写loop呢,还有就是python中的异常开销是不是不大? 因为传统上循环总需要个计数器,也就是side effect拉。所以FP鼓励用递归或list comprehension,有点洁癖之嫌吧? 至少有一个最新的理由: 函数式的列表操作(map/reduce/filter)是可以拆分的 比如reduce,你可以把一个大列表分成几个小列表,分别对它们做reduce,得到的结果放进同一个列表再做reduce,效果是一样的 map,更是如此 filter,同样 所以你就可以把“分解成小列表的操作”放在几个核上运行 这样就可以充分利用多核的计算能力 大部分情况都如你所说,不过也有例外,比如前后依赖的lazy list: fibs = 0 : 1 : [ a + b | (a, b) <- zip fibs (tail fibs)] 另外我觉得这是实现细节,聪明点的编译器也许能辨别能否把loop拆开来并行,比如考虑矩阵相乘操作。 |
|
返回顶楼 | |