package scalaz.example
import scalaz._
import Scalaz._
object ExampleAscii {
def main(args: Array[String]) = run
def run {
val is = List(1, 2, 3)
1.η[List] assert_=== 1.pure[List]
(is ∘ (1 +)) assert_=== (is map (1 +))
case class IntWrap(i: Int)
val intShow = implicitly[Show[Int]]
(intShow ∙ ((_: IntWrap).i)).show(IntWrap(0)) assert_=== (intShow contramap ((_: IntWrap).i)).show(IntWrap(0))
(is ∗ (i => List(i, i))) assert_=== (is flatMap (i => List(i, i)))
(is ∗ (i => List(i, i))) assert_=== (is >>= (i => List(i, i)))
(is ∗| List(0, 1)) assert_=== (is >>=| List(0, 1))
val ll = List(List(1))
ll.μ assert_=== ll.join
(1 ≟ 1) assert_=== (1 === 1)
(1 ≠ 0) assert_=== (1 /== 0)
(1 ⊹ 1) assert_=== (1 |+| 1)
("1".σ ⊹ "2".σ).value assert_=== ("1".dual |+| "2".dual).value
(is ⊛ is).tupled assert_=== (is |@| is).tupled
(is ↦ (_.some)) assert_=== (is traverse (_.some))
is.∃(_ < 0) assert_=== is.any(_ < 0)
is.∀(_ < 0) assert_=== is.all(_ < 0)
}
}