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