•path — Paths
•path text splits a path into a record of its parts, named after Rust’s: parent, stem, extension and name. It never reads the disk. The option absolute first joins a relative path to the working directory, as Rust’s std::path::absolute does, without resolving links. •path⁻¹ joins parent, stem and extension into a path, and ignores name. An array of paths gives a record of arrays.
•path "data/sales.csv" ⍝ ["parent":"data" "stem":"sales" "extension":"csv" "name":"sales.csv"]
{⍵.extension←"tsv" ⋄ ⍵}@•path "data/sales.csv" ⍝ "data/sales.tsv"Errors: DOMAIN when a path isn’t text, for an unknown part, or for an absolute path that is empty or has no working directory to join.