A Zipper type for traversing a List in both directions.
NOTE: This implementation mutates the concrete List

See also:

Static variables

staticread onlyfacingLeft:List<X>

List elements to the left of the current focus

staticread onlyfacingRight:List<X>

List elements to the right of the current focus

staticread onlyfocus:X

staticread onlylength:Int

Length from the current focus to the end of the list

staticread onlytotalLength:Int

Total length of the underlying list

Static methods

staticasZipper<A>(focus:A):ListZipper<A>

staticfrom1<A>(focus:A, rest:Rest<A>):ListZipper<A>

staticiterator(this:Trio<List<X>, X, List<X>>):Iterator<X>

staticleft<A>(lz:ListZipper<A>):ListZipper<A>

Move the focus to the left one space, if possible.

staticlistZipperWith<A>(focus:A, right:List<A>):ListZipper<A>

staticright<A>(lz:ListZipper<A>):ListZipper<A>

Move the focus to the left one space, if possible.

@:tostatictoIterable(this:Trio<List<X>, X, List<X>>):Iterable<X>

staticupdate<A>(lz:ListZipper<A>, newValue:A):ListZipper<A>

Replace the value at the current focus.