COMFRK VOL.3 Advent Calendar 四日目

少し遅れましたが COMFRK VOL.3 Advent Calendar 四日目です。書くの忘れてました。

一年半ほど前から Haskell 界隈で Iteratee という入力処理手法が流行っています。Haskell Advent Calendar 17 日目の記事でも言われていますが、まさに Iteratee 戦国時代というような様相です。逆にいうと、まだまだこれから?なので、乗るしかないこのビッグウェーブに?学ぶことを強いられているんだ?何かそういう感じです。

ということで Iteratee をやってみましょう、というような記事を書きます。

今、書いてます。ヤバイ!

既にチュートリアルやら解説記事がいくつもあるのに何でまた書いてしまうのかというと、

  • Haskell 分からないとなんのことやら
  • Haskell それなりに分かっててもそれなりになんのことやら
  • 実際のライブラリの使い方のチュートリアルからは Iteratee とは何かを理解するのは難しい(習うより慣れろという言葉もありますが)

みたいな感じなので、やはりきちんと「Iteratee とは何なのか」を理解できるようなものが書けるといいなという気持ちがあります。

記事では Scala を使います。IO とか State とか Monad とか Monad Transformer とか出てきません。「Iteratee とは何なのか」もっといえば「この型どういうことなの」に絞って書きます。Iteratee は Haskell の Lazy IO の代替手法として提案されたものなのに Haskell じゃないのかよ、と思われるかもしれませんが…詳細まで知りたい人向けの記事ではないということです。

大体そういうことなので、Iteratee ってたまに目にするけどよく知らなーい、Haskell もよくわかんなーい、みたいな人は是非コミックマーケット三日目、東ペ06a で COMFRK VOL. 3 を買いましょう!黄金逆ピラミッドの下で、オヌシのアイサツを待つ。ユウジョウ!