【问题标题】:How does the elimination of side effect facilitate parallel and concurrent programming?消除副作用如何促进并行和并发编程?
【发布时间】:2015-03-03 15:32:59
【问题描述】:

是否有任何成功实用的函数式语言(如Erlang)或库是基于用这种语言编写的程序没有副作用或只有受控的副作用的假设(例如,以Monad为代表,所以可以被编译器检测和分离)

【问题讨论】:

    标签: parallel-processing functional-programming side-effects


    【解决方案1】:

    这在很大程度上是 Why is there no implicit parallelism in Haskell? 的副本

    答案是肯定的,有一些自动化的并行方法依赖于没有副作用。 例如。 Haskell 中的嵌套数据并行性。当成本模型预先知道时,全自动方法往往效果最好,例如并行数组编程。

    但是,如果您愿意添加一些自己的注释,您仍然可以利用不变性来获得加速。 par 注释,例如Haskell 是具有良好功率重量比的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      • 2014-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      相关资源
      最近更新 更多