All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scalaz.example.ExampleKleisli.scala Maven / Gradle / Ivy

package scalaz.example

import scalaz._

object ExampleKleisli {
  def main(args: Array[String]) = run

  import Scalaz._

  def run {
    val f = ☆((n: Int) => if (n % 2 == 0) None else Some((n + 1).toString))
    val g = ☆((s: String) => if (List(5, 7) ∃ (_ == s.length)) None else Some("[" + s + "]"))

    // Kleisli composition 
    (List(7, 78, 98, 99, 100, 102, 998, 999, 10000) map (f >=> g apply _)) assert_≟ List(Some("[8]"), None, None, Some("[100]"), None, None, None, Some("[1000]"), None)
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy