Module Ext_path

type t;
let path_sep: char;
let combine: string => string => string;

combine path1 path2 1. add some simplifications when concatenating 2. when path2 is absolute, return path2

let (//): string => string => string;
get_extension "a.txt" = ".txt"
  get_extension "a" = ""
let node_rebase_file: from:string => to_:string => string => string;
let rel_normalized_absolute_path: from:string => string => string;

TODO: could be highly optimized if from and to resolve to the same path, a zero-length string is returned Given that two paths are directory

A typical use case is

Filename.concat
  (rel_normalized_absolute_path cwd (Filename.dirname a))
  (Filename.basename a)
let normalize_absolute_path: string => string;
let absolute_cwd_path: string => string;