::dirname [OPTION] NAME... { # dont expect any data on stdin # >0 : None ; # each (non-option) argument must be a path # NAME : Path ~> ~ ~ ~UTF-8 ~ ; matchopt OPTION { # help and version flags will bypass any data processing # --help { <1 : Help~ ; } --version { <1 : VersionInfo~ ; } # in case neither --help nor --version is set # ... * { # if zero-flag is set, use '\0' instead of '\n' # as delimiter in output sequence DELIM = match OPTION { -z--zero { '\0' } * { '\n' } }; # output a sequence of paths to stdout # <1 : > ~ ~> ~ ~ ; } } }