拙い発表でしたが、まじめに聞いてくれたScala会議参加者の方々には感謝です。 このLTで話せなかったIterateeについて、tanakhさんのブログを参考に書かせていただきます。 Scalazでの実装 ブログを参考に実際に実装してみます。 定義は簡単。 Haskellのコードとあまり変わりがないですね。(ぇ ストリームはList(El(1), El(2), El(3), EOF())みたいなイメージです。 enum,runの実装。 enumはfoldl(むしろreduce?)そのままで、IterVを関数と初期値にみたたて、Doneの場合でも結果を返すものと思えばいいです。 runは結果を取り出すだけ。初期値に当たるものがない場合があるので、結果はOptionで返します。 Iterateeたち。 これらをストリームに適用し、結果を得ます。curriedとか初めて使った気がします。 型が消
A programmer's blog - will deal with everything that relates to a programmer. Occasionally, it will contain some humour, some politics and some sport news. Monads don't compose .. and hence Monad Transformers. A monad transformer maps monads to monads. It lets you transform a monad with additional computational effects. Stated simply, if you have a monadic computation in place you can enrich it in
下記で取り上げられているネタについてメモを残す。 Scala の Either についての考察 - scalaとか・・・ Scala勉強会第53回 (EitherやScalazのValidationについて) - Togetter Either と Scalaz Either は flatMap メソッドを持たないので for 式では使えない。for 式内で Right で処理を進めたいなら right メソッドで、Left で処理を進めたいなら left メソッドで *Projection を取得する必要がある。 def r(n: Int): Either[String, Int] = Right(n) for { x <- r(1).right; y <- r(x).right } yield x+y とはいえ、多くの場合 Right で処理を進めたい場合が多く、Left で処理を進め
Applicative Programming, Disjoint Unions, Semigroups and Non-breaking Error Handling Abstract This presentation is intended for the April 2010 meeting of the Brisbane Functional Programming Group Programming with applicative functors [ApplicativeProg] generalises monadic programming permitting more available data types with fewer operations. However, these operations are sufficient for general han
NOTE: This content is being moved to the target of this link. Please update your bookmarks. Scalaz 5.0 adds an implementation of a concept called Iteratee. This is a highly flexible programming technique for writing enumeration-based input processors that can be freely composed. A lot of people have asked me to write a tutorial on how this works, specifically on how it is implemented in Scalaz and
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く