トップ «前の日記(2010-09-07) 最新 次の日記(2010-09-18)» 月表示 編集

日々の流転


2010-09-11 [長年日記]

λ. iteratee I/O勉強会

に参加。詳しくはmaoeさんのブログなどを参照。

iteratee law とかないのなと思う。 IterVがMonadであることを含意するのが最低限の条件。

それと、以下の iteratee-0.4 での定義をCPSスタイルと言っていたけど、感じとしてはIterVMのモナディックなチャーチエンコーディング(?)を考えているような雰囲気だと思った。もう少しちゃんと考えたいところだけど。

iteratee-0.2 での定義:

data IterVM el m a = DoneM a (StreamG el) 
                   | ContM (Iteratee el m a) 

newtype Iteratee el m a = 
  Iteratee { runIter :: StreamG el -> m (IterVM el m a) } 

iteratee-0.4 での定義:

newtype Iteratee el m a = 
  Iteratee { 
    runIter :: forall r. 
      (a -> Stream el -> m r) -> 
      ((Stream el -> Iteratee el m a) -> Maybe ErrMsg -> m r) -> 
      m r 
   }

あと、全然脱線して、pirapirapiraさんに Epigram, OTT(observational type theory), Pola: a language for PTIME programming とかについて盛り上がる。

その後は例によってシャヒ・ダワットで懇親会。 ビリヤニというのが日本ではここでしか食べられないらしい*1。 それから、アダムの呪いイブの7人の娘達 とかの話面白かった。 あと、「やっぱりgitは使える様にならないとなぁ」と思った。

Tags: haskell

*1 他のレストランではピラフみたいになっちゃうとか