A Tour of Go in Haskell

GitHub Language
Further more...

このウェブサイトではもっぱら async パッケージと stm パッケージを用いて、 軽量スレッドをIOの中で明示的に利用する方法を見てきました。 Haskell には他にも並列・並行を実現するためのツールがあります。

parallel パッケージは Haskell の遅延評価を利用して純粋な関数として並列処理を記述することを可能にします。 実行したい処理と、それをどのように並列化するかを 評価戦略 という形式で分離できるのが便利で面白いところです。

monad-par パッケージが提供するParモナドは、遅延評価には依存しない、並列化の粒度とデータの依存関係を明示的に指定できる並列処理を可能にします。 純粋な関数としてもIOとしても使えます。

これらの Haskell が持つ多くの並列・並行の方法は、 Haskellによる並列・並行プログラミング という本に網羅されています。 この本は並列・並行の違いといった基礎的な部分から、GPGPUやある種の自動並列のような応用的な話題まで、 並列・並行に関して詳細かつ広範に取り扱ってます。 Haskell でなくても並列・並行を使う人ならば読んでおくと役に立つでしょう。

< 11 / 11 >