とりあえずHaskellのContinuation passing styleについて

今日から、いろいろHaskellプログラミングについて書いていこうと思います。いろいろ勉強したことの備忘録的なものとなると思われます。

 

とりあえずHaskellのContinuation passing styleについて書きたいと思います。

 

 Haskellとは純粋関数型プログラミング言語です。いろいろな特徴を持っていますが、その中でもモナドという概念が大きな存在感を持っています。モナドの基本的な事項と標準的なモナドが「All About Monads - HaskellWiki」で説明されています。ReaderとかWriterとかStateとかですが、その中でも理解が難しいのはContinuationモナドだと思われます。私自身がそうでしたから。それでも何とかそれなりに理解することができましたので、これから数回にわたり備忘録的にまとめていきたいと思います。

 

その後にMonad transformersについても書きたいと思います。Monad transformersの基本的な関数(liftやliftIOなど)は現実的なHaskellのプログラミングにとっては必須だと思われますので。

 

ちなみに現在は、個人的なプロジェクトとして、MongoDB+Elasticsearchを使った検索エンジンを作成しています。もちろんHaskellで書くので、http/html/xml-conduitやScottyなどを利用する予定です。それについて紹介できることがあれば書いていきたいと思います。どうぞよろしく。