筆者 shelarcy
Haskellは,関数型プログラミングというジャンルに属する言語です。Haskellや関数型プログラミングを題材に物事を見ていくことで,今まで思いもよらなかったような未知の世界を知ることができるでしょう。
プログラミング言語を学ぶという行為には,
- 言語の基本的な文法や考え方を理解する
- 言語の文化圏で広く使われている考え方に親しんでその言語らしい書き方を習得する
- 単に言語を使ってできること以上の知恵を学ぶ
の3段階があります。この連載では,三つ目の段階を目標に,Haskellプログラミングの世界を一つひとつ丁寧に紹介していきます。
更新は毎月第1水曜日(1月のみ第2水曜日)
第52回 データ構造を走査するためのTraversableクラス
第51回 FunctorとMonadの間にあるApplicative
第50回 並列プログラミングにおける抽象化と細かい制御のトレードオフ
第49回 GHCの測定機能やプロファイラで並列プログラムの振る舞いを調べる
第44回 progressionで複数の性能測定結果を比較する
第42回 ランダム・アクセスを行う処理を効率化するRecycling
第41回 任意の再帰構造による処理を融合変換できるStream Fusion
第40回 Stream Fusionによる融合変換で処理系の最適化機能を生かす
第39回 一般向けの「Haskell Platform」とインストール・ツールの「cabalコマンド」
第34回 様々なデータ構造でfoldを使えるようにするFoldableクラス
第31回 禁断の機能「unsafePerformIO」の深淵
第29回 グローバル変数の代わりに使えるReaderモナドとWriterモナド
第28回 例外やエラーに対する処理能力を加えるエラー・モナド
第27回 外部環境のエラーとHaskellの間の整合性を取る
第23回 外部環境のメモリーとHaskellの間の整合性を取る
第18回 QuickCheckを使ってできることとできないこと
第12回 Haskellで学ぶ並列プログラミング(その3) 並行プログラミングと並列処理