ref: 9b6e7069755a73fb43acd86fd76aafb2178a6f0c
dir: /lib/iter/reverse.myr/
use std pkg iter = type reverseiter(@a) = struct sl : @a[:] idx : std.size ;; impl iterable reverseiter(@a) -> @a generic byreverse : (sl : @a[:] -> reverseiter(@a)) ;; generic byreverse = {sl -> [.sl = sl, .idx = sl.len] } impl iterable reverseiter(@a) -> @a = __iternext__ = {itp, valp if itp.idx > 0 valp# = itp.sl[itp.idx - 1] itp.idx-- -> true else -> false ;; } __iterfin__ = {itp, valp } ;;