A Tour of Go in Haskell

GitHub Language
Exercise: Web Crawler

この例題ではこれまで見てきた並行機能を使って並列ウェブクローラーを実装します。

crawl 関数を実装してみましょう。 crawl は現在 crawlNaive によって実装されていますが、 crawlNaive は並列にウェブページを取得できず、同じURLを2回取得してしまうこともあります。 これを正しく動作するように置き換えしょう。

ヒント: 取得済みのURLのキャッシュは Set で表現し、TVar でスレッド間共有するとよいでしょう。

解答例は こちら にあります。

< 10 / 11 >