ref: fd1b8b6f31b7a8c2705c3ac01e46fd707c0d3c9e
dir: /lib/std/diriter.myr/
use "alloc" use "dir" use "option" pkg std = type diriter = dir# impl iterable diriter -> byte[:] const byentry : (d : dir# -> diriter) ;; const byentry = {d -> (d : diriter) } impl iterable diriter -> byte[:] = __iternext__ = {itp, valp :nextfile match dirread((itp# : dir#)) | `Some ".": goto nextfile | `Some "..": goto nextfile | `Some ent: valp# = ent -> true | `None: -> false ;; } __iterfin__ = {itp, valp std.slfree(valp#) } ;;