A Tour of Go in Haskell

GitHub Language

A Tour of Go in Haskell へようこそ

A Tour of Go in Haskell へようこそ。 このサイトは、Go の有名なチュートリアル A Tour of Go並行性 の章を Haskell でやってみるというものです。 Haskell は Go と同じく 軽量スレッドチャネル といった並行処理の機能を持っています。 そのため Haskell で Go と同じ処理を記述して2つを見比べてみるのは興味深いことでしょう。

ここから始めましょう。

Haskellに詳しい方へ: このサイトでは Go との対比を分かりやすくするため、もっぱら async, stm などのパッケージを使って IO の中で明示的に並行性を扱います。 Evalモナド、Parモナドなどは扱いません。 また、Haskell ユーザでない人の分かりやすさのために、意図的にユーティリティ関数の使用を避けたりポイントフリーではない記述をしている部分があります。

目次
  1. Goroutines
  2. Channels
  3. Buffered Channels
  4. Range and Close
  5. Select
  6. Default Selection
  7. Exercise: Equivalent Binary Trees (1/2)
  8. Exercise: Equivalent Binary Trees (2/2)
  9. sync.Mutex
  10. Exercise: Web Crawler
  11. Further more...