package scalaz.example import scalaz._ import Scalaz._ object ExampleZipper { def main(args: Array[String]) = run def run { val path = nel('usr, 'local, 'scala, 'bin) val z1: Zipper[Symbol] = path.toZipper z1.toStream assert_=== path.list.toStream z1.focus assert_=== 'usr z1.lefts assert_=== Stream() z1.rights assert_=== Stream('local, 'scala, 'bin) val z2: Option[Zipper[Symbol]] = z1.move(2) z2 ∘ (_.focus) assert_=== 'scala.some z2 ∘ (_.lefts) assert_=== Stream('local, 'usr).some z2 ∘ (_.rights) assert_=== Stream('bin).some (z1.next ∗ (_.next) ∗ (_.previous)) assert_=== z1.move(1) z1.previous assert_=== none[Zipper[Symbol]] } }