scalaz

Scala で Iteratee と Enumerator を書く練習

とりあえず使い方だけメモ package com.github.cooldaemon.scalaz_test import scalaz._ object TryIteratee { import Scalaz._ import IterV._ def run { implicit val ListEnum = new Enumerator[Seq] { def apply[E, A](e: Seq[E], i: IterV[E, A]): Iter…

Scalaz.concurrent

この記事は、Scala Advent Calendar JP 2011 の14日目です。無理を言って、二日間も枠を頂いてしまいました。今回は、Scalaz 6.0.3 の concurrent について解説を行います。個人的には Scalaz.concurrent の主役は Promise だと思っているので、早速、その解…

scalaz.Bifunctor と Either

前回メモし忘れていた Either の小ネタを紹介。 例の如く scalaz の import は必須。 import scalaz._ import Scalaz._ Either を取得した後、普通は、処理の分岐を下記のように記述する。 1.right[String] match { case Right(n :Int) => n + 1 case Left(s…

Either と scalaz.Validation

下記で取り上げられているネタについてメモを残す。 Scala の Either についての考察 - scalaとか・・・ Scala勉強会第53回 (EitherやScalazのValidationについて) - Togetter Either と Scalaz Either は flatMap メソッドを持たないので for 式では使えな…

scalaz.StateT で scalaz.State と Option を組み合わせる

scalaz の ExampleState に StateT のサンプルが無かったので試してみた。 気が向いたら、そもそも State モナドって何よ?という所から説明書くかも。 package com.github.cooldaemon.try_scalaz import scalaz._ object TryState { import Scalaz._ def ru…