Chapter 28

おわりに

toyboot4e
toyboot4e
2023.12.24に更新

Haskell で AtCoder を始める際にヒントとなるであろう情報を紹介して行きました。 Haskell のドキュメントは examples が不足している場合が多く、特に始めたての頃はコードの読み書きが大変な負担になると思います。この投稿では嫌というほど具体例やトラブルシューティングを書いていますから、何かしら補填できるものがあれば幸いです。

AtCoder を始めた後に気付いたことですが、これほど思う存分に Haskell を書ける環境はそうそうありません。他のコンテストサイトでは vector パッケージが使えなかったり、そもそも Haskell が使えないことも多く、今の AtCoder 環境は奇跡的に恵まれています。 AtCoder 社と先人の Haskeller たちに感謝するばかりです。

さて 1 章の『Haskell 入門』では、 Haskell は継続力とモチベーションに特化した選択であるとしました。その魔法は未だ健在です。たとえばヒューリスティックの問題を解く際には、多数の状態やパラメータを扱うために、どのようなスタイルでコードを書くのか再度検討しなければなりません。モナドを合成するのか、 Has パターンを使うのか、エフェクトが役に立つのか、何が見えてくるのか分かりませんが、また面白いところまで辿り着けた時は投稿します。