(Unix.stat fname).Unix.st_kind = Unix.S_REG
with Unix.Unix_error _ -> false
+let is_executable fname =
+ try
+ let stat = (Unix.stat fname) in
+ stat.Unix.st_kind = Unix.S_REG &&
+ (stat.Unix.st_perm land 0o001 > 0)
+ with Unix.Unix_error _ -> false
+
let mkdir path =
let components = split ~sep:'/' path in
let rec aux where = function